题目:
题解:
class Solution {
public:
int fourSumCount(vector<int>& A, vector<int>& B, vector<int>& C, vector<int>& D) {
unordered_map<int,int> recond;//两两元素之和->等于该和的个数
int count=0;
//遍历数组A、B,求A、B中元素两两之和
for(const auto& i:A)
for(const auto &j:B)
++recond[i+j];
//遍历数组C、D,判断C、D中的元素与hashmap中的元素和是否为0
for(const auto& i:C)
for(const auto& j:D)
if(recond.find(0-i-j)!=recond.end())
count+=recond[0-i-j];
return count;
}
};