相关标签
一、题目要求
二、题解和代码实现
1.题解
2.代码实现
代码如下(示例):
class Solution {
public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
HashMap<Integer, Integer> map = new HashMap<>();//记录前两个数组的和
for (int i = 0; i < nums1.length; i++) {
for (int j = 0; j < nums2.length; j++) {
map.put((nums1[i]+nums2[j]),map.getOrDefault((nums1[i]+nums2[j]),0)+1);//记录和的次数
}
}
int count =0;
for (int i = 0; i < nums3.length; i++) {
for (int j = 0; j < nums4.length; j++) {
int sum = -(nums3[i]+nums4[j]);//获取后两个数组和的值,取反,这样 才和前两个数组的和一样,一样的就是四数之和为0
if (map.containsKey(sum)){//找到key
count+=map.get(sum);//记录个数
}
}
}
return count;
}
}