Given four integer arrays
nums1
,nums2
,nums3
, andnums4
all of lengthn
, return the number of tuples(i, j, k, l)
such that:
0 <= i, j, k, l < n
nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0
from collections import defaultdict
class Solution:
def fourSumCount(self, nums1, nums2, nums3, nums4):
mp = defaultdict(int)
count = 0
# 先做 nums1 + nums2
for i in nums1:
for j in nums2:
mp[i + j] += 1
# nums3 + nums4 取相反数
for k in nums3:
for l in nums4:
count += mp[-(k + l)]
return count