力扣学习笔记——54. 四数相加 II
解题思路
动图版:
实现代码
class Solution {
public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
Map<Integer, Integer> map = new HashMap<>(); // key: 两数之和 value: 出现次数
for (int i : nums1) {
for (int j : nums2) {
int key = i+j;
map.put(key, map.getOrDefault(key, 0) + 1);
}
}
int ans = 0;
for (int i : nums3) {
for (int j : nums4) {
// 如果包含 -i-j 也就是 nums1 nums2 之和的倒数
if (map.containsKey(-i-j)) ans += map.get(-i-j); // 将计数累加
}
}
return ans;
}
}
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 zxb
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果