## 题目关键字:哈希,减元
## 454_题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
### 代码实现
public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
if(nums1 == null || nums2 == null || nums3 == null || nums4 == null) {
return 0;
}
int res = 0;
Map<Integer,Integer> map1 = new HashMap<>();
for (int num1 : nums1) {
for(int num2: nums2) {
int temp = num1 + num2;
if(map1.containsKey(temp)) {
map1.put(temp,map1.get(temp) + 1);
}else {
map1.put(temp,1);
}
}
}
for (int num3 : nums3) {
for(int num4: nums4) {
int temp = num3 + num4;
if(map1.containsKey( -temp)) {
res = res + map1.get(-temp);
}
}
}
return res;
}
### 解题注意事项
1、哈希始终是key-value,多个变量时,需要减少未知数
2、拿着结果去找预期的值使用hash最快速,减少了无效遍历的时间