四数相加
题目链接
解题思路:
- 用一个哈希表来存储数组C和D当中所有可能出现的和的次数
- 遍历数组A和B,看看是否有满足
c+d==-(a+b)
即可。
class Solution {
public:int fourSumCount(vector<int>& A, vector<int>& B, vector<int>& C, vector<int>& D) {unordered_map<int,int> cnt;int ans = 0;for(auto c : C){for(auto d : D){cnt[c+d]++;}}for(auto a:A){for(auto b:B){ans += cnt[-(a+b)];}}return ans;}
};