第一种方法,暴力枚举
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