#454
class Solution {
public:
int fourSumCount(vector<int>& A, vector<int>& B, vector<int>& C, vector<int>& D) {
map<int, int> sum1, sum2;
for(int i = 0; i < A.size(); ++i) {
for(int j = 0 ; j < B.size() ; ++ j) {
sum1[A[i] + B[j]] ++;
}
}
for(int i = 0; i < C.size(); ++i) {
for(int j = 0; j < D.size(); ++j) {
sum2[C[i]+D[j]] ++; //可直接计算,不需要第二个map
}
}
int res = 0;
for(auto i : sum1) {
res += (i.second * sum2[-i.first]);
}
return res;
}
};
感人:
执行用时:
1240 ms
, 在所有 C++ 提交中击败了
5.03%
的用户
内存消耗:
71.3 MB
, 在所有 C++ 提交中击败了
5.02%
的用户