这个题不同于三数和另一个四数相加,这是四个数组。
所以我们想办法,把其办成两数相加
代码题解:
class Solution {
public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
int n=nums1.length;
int sum=0;
int sum2=0;
int count=0;
Map<Integer,Integer> map=new HashMap<>();
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
sum=nums1[i]+nums2[j];
map.put(sum,map.getOrDefault(sum,0)+1);
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
sum2=nums3[i]+nums4[j];
if(map.containsKey(0-sum2)){
count+=map.get(-sum2);
}
}
}
return count;
}
}