//创建一个map存放a+b的值以及a+b出现的次数,再从c+d的和中寻找是否有满足a+b=-(c+d)
class Solution {
public:
int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {
unordered_map<int, int> mapAB;
int result = 0;
for(auto a : nums1)
{
for(auto b : nums2)
{
mapAB[a + b]++;//将a+b的和存入map的key中,value中存该和出现的次数 map[key] = value是在map中插入数据的方法
}
}
for(auto c : nums3)
{
for(auto d : nums4)
{
if(mapAB.find(-(c + d)) != mapAB.end())
{
result += mapAB[-(c + d)];
}
}
}
return result;
}
};