class Solution {
public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
//思路:先计算1和2的和,再用3和4的和去找1和2的合中有没有可以相加为0的
//建立一个map表,key保存1和2相加的值,values保存值的次数
HashMap<Integer,Integer> map = new HashMap<>();
for(int a:nums1){
for(int b:nums2){
map.put(a+b,map.getOrDefault(a+b,0)+1);
}
}
int result=0;
for(int c:nums3){
for(int d:nums4){
if(map.containsKey(-(c+d))){
result+=map.get(-(c+d));
}
}
}
return result;
}
}
代码随想录 -哈希表 -6.四数相加
最新推荐文章于 2024-10-10 20:14:35 发布