public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
HashMap<Integer, Integer> map = new HashMap<>();
int res = 0;
int temp;
for (int i : nums1) {
for (int j : nums2) {
temp = i + j;
//对相同结果的元素累加
if (map.containsKey(temp)) {
map.put(temp, map.get(temp) + 1);
}else {
//这里需要用else 遇到不同的元素和 放入到新的key中
map.put(temp, 1);
}
}
}
for (int i : nums3) {
for (int j : nums4) {
temp = i + j;
//与两数之和leetcode有异曲同工之妙 确保四个数组元素之和0
//满足条件则添加res结果
if (map.containsKey(0 - temp)) {
res += map.get(0 - temp);
}
}
}
return res;
}
454. 四数相加 II
最新推荐文章于 2025-05-09 14:48:06 发布