四数之和
四数之和
class Solution {
public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
Map<Integer,Integer> map=new HashMap<>();
int res=0;
int team;
//遍历两个数组,统计各个值出现的次数
for(int i:nums1){
for(int j:nums2){
team=i+j;
if(map.containsKey(team)){
//在原有基础上加一
map.put(team,map.get(team)+1);
}else{
//第一次出现值为1
map.put(team,1);
}
}
}
//遍历另外两个数组,与出现的值相减,统计出最终值为0的个数即为答案
for(int i:nums3){
for(int j:nums4){
team=i+j;
if(map.containsKey(0-team)){
res+=map.get(0-team);
}
}
}
return res;
}
}