
- 直接统计数组中的数字两两组合可以得到的乘积
- 求将相同乘积的组合再两两组合的数量
- 最后由于abcd的值可以互换,每一个组合通过呼唤位置可以得到8种不同的组合,所以最后乘以8
class Solution:
def tupleSameProduct(self, nums: List[int]) -> int:
d = defaultdict(int)
l = len(nums)
for i in range(l):
for j in range(i + 1, l):
d[nums[i] * nums[j]] += 1
return sum(n*(n - 1)//2 if n > 1 else 0 for n in d.values())*8
涉及到计数的,Counter就是必手动计数快一点,这涉及到 collection中的Counter在调用时使用C库有关



![2023年中国恋爱社区未来发展趋势分析:多元化盈利模式实现可持续发展[图]](https://img-blog.csdnimg.cn/img_convert/24dd040b90205c02d5a1cd80ef44a17c.png)















