LeetCode 454. 4Sum II (Hash Table)
程序员文章站
2022-07-15 14:28:38
...
Given four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l) there are such that A[i] + B[j] + C[k] + D[l] is zero.
To make problem a bit easier, all A, B, C, D have same length of N where 0 ≤ N ≤ 500. All integers are in the range of -228 to 228 - 1 and the result is guaranteed to be at most 231 - 1.
C++
class Solution {
public:
int fourSumCount(vector<int>& A, vector<int>& B, vector<int>& C, vector<int>& D){
unordered_map<int, int> umap;
//遍历A和B,统计两个数组元素之和,和出现的次数,放到map中
for(int a : A){
for(int b : B){
umap[a + b]++;
}
}
int cnt = 0;
//遍历C和D
for(int c : C){
for(int d : D){
if(umap.find(0 - (c + d)) != umap.end()){
cnt += umap[0 - (c + d)];
}
}
}
return cnt;
}
};
和3sum 2sum不同,这里4个不同的数组,2层遍历足够
上一篇: bootstrapvu代码规范-01(最近在使用vue+springbootvue开发)
下一篇: No provider available from registry 192.168.126.129:2181 for service com.jt.service.DubboUserServic
推荐阅读
-
【leetcode】454.四数相加 II (哈希表+数组,开阔思路,java实现!)
-
leetcode哈希表hash table集合
-
LeetCode 454. 4Sum II (Hash Table)
-
LeetCode C++ 599. Minimum Index Sum of Two Lists【Hash Table】简单
-
LeetCode C++ 454. 4Sum II【Hash Table/Sort/Two Pointers/Binary Search】
-
[LeetCode] 454.四数相加 II(Medium)C语言题解
-
【LeetCode】1. Two Sum(Hash Table)
-
leetcode:two sum,Subarray Sum类的问题 (hash table)