- Leetcode454
- 1.问题描述
- 2.解决方案
class Solution {
public:
int fourSumCount(vector& nums1, vector& nums2, vector& nums3, vector& nums4) {
//1.统计k-v a+b-出现次数
unordered_map mp;
for (auto a: nums1) {
for (auto b: nums2) {
mp[a+b]++;
}
}
//2.在遍历大C和大D数组,找到如果 0-(c+d) 在map中出现过的话,就把map中key对应的value也就是出现次数统计出来
int count=0;
for (auto c: nums3) {
for (auto d: nums4) {
if(mp.find(0-(c+d))!=mp.end()){
count+=mp[0-(c+d)];
}
}
}
return count;
}
};



