四数相加
题目:给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。
class Solution { public: int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) { unordered_map<int,int> m; for(int a:nums1)//a并不是等同于i,而是等同于nums[i]; { for(int b:nums2) { m[a+b]++; } } int count=0; for(int c:nums3) { for(int d:nums4) { if(m.find(0-(c+d))!=m.end()) { count += m[0-(c+d)];//value值记录次数 } } } return count; } };