什么时候会想到哈希法--判断在一个集合里面某个元素有没有出现过。
假设四个数组分别是A,B,C,D.我们先去遍历AB,得到A和B数组元素之和;再去遍历CD,得到C和D数组元素之和。
代码实现:
class Solution:
def fourSumCount(self, nums1: List[int], nums2: List[int], nums3: List[int], nums4: List[int]) -> int:
first=dict()
tuple_num=0
for index1,value1 in enumerate(nums1):
for index2,value2 in enumerate(nums2):
if value1+value2 in first:
first[value1+value2]+=1
else:
first[value1+value2]=1
for index3,value3 in enumerate(nums3):
for index4,value4 in enumerate(nums4):
if 0-value3-value4 in first:
tuple_num+=first[0-value3-value4]
return tuple_num
注:本题其实无需使用enumerate,答主懒得改了~~