这类题目基本是用字典 以空间换时间
class Solution(object):
def fourSumCount(self, A, B, C, D):
"""
:type A: List[int]
:type B: List[int]
:type C: List[int]
:type D: List[int]
:rtype: int
"""
dict1={}
res=0
for i in range(len(A)):
for j in range(len(B)):
if not A[i]+B[j] in dict1:
dict1[A[i]+B[j]] = 1
else:
dict1[A[i]+B[j]]+=1
for m in range(len(C)):
for n in range(len(D)):
if -(C[m]+D[n]) in dict1:
res+=dict1[-(C[m]+D[n])]
return res

本文介绍了一种使用字典解决四数之和计数问题的方法,通过预先计算两个数组的所有可能组合,并将结果存储在字典中,然后遍历另外两个数组,查找与当前元素相加为零的配对,从而实现快速计数。
801

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



