题目:
(454)四数相加
class Solution {
public:
int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {
unordered_map<int,int> result_map;
int count = 0;
for (auto num1 : nums1){
for (auto num2 : nums2){
result_map[num1 + num2]++;
}
}
for (auto num3 : nums3){ //快速查找只要有一个map就可快速实现
for(auto num4 : nums4){
//auto iterator = result_map.find((result_map[num3] + num3 + num4) == 0);
auto iterator = result_map.find(0-(num3+num4));
if (iterator != result_map.end()){
count = count + result_map[0-(num3+num4)];
}
}
}
return count;
}
};