
第一种方法,暴力枚举
def numIdenticalPairs(self, nums: List[int]) -> int:
# 暴力枚举
sum = 0
for i in range(0, len(nums)):
for j in range(i+1, len(nums)):
if nums[i] == nums[j]:
sum = sum + 1
return sum
第二种,哈希表
def numIdenticalPairs(self, nums: List[int]) -> int:
# 哈希表
hs = {}
count = 0
for i in nums:
if i not in hs.keys():
hs[i] = 1
else:
hs[i] += 1
for i in hs.values():
if i != 1:
# 这里组合数公式用来计数,可以挨个枚举试试!~
count += i*(i-1)//2
return count
本文介绍了两种常见的编程问题解决方法:暴力枚举和哈希表。通过示例代码展示了如何使用这两种方法来查找列表中相同元素的配对数量。暴力枚举通过双重循环实现,而哈希表则利用了快速查找和计数的优势,通过组合数公式计算结果,提高了效率。这两种方法在实际编程中有着广泛的应用。
284

被折叠的 条评论
为什么被折叠?



