算法:先将AB的所有组合计算出来存进map中,然后在与所有的CD组合在map中使用count;
class Solution {
public:
int fourSumCount(vector<int>& A, vector<int>& B, vector<int>& C, vector<int>& D) {
std::map<int, int> map;
int answer = 0;
for(int i = 0; i < A.size(); i++ )
for(int j = 0; j < B.size(); j++)
map[A[i]+B[j]]++;
for(int i = 0; i < C.size(); i++ )
for(int j = 0; j < D.size(); j++)
answer += map[-(C[i]+D[j])];
return answer;
}
};