LeetCode 454 四数相加 II

class Solution {
public:
    int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {
        unordered_map<int, int> map;

        for(int num1 : nums1) {
            for(int num2 : nums2) {
                map[num1 + num2] ++; //计算num1 + num2和的出现次数
            }
        }

        int count = 0;
        for(int num3 : nums3) {
            for(int num4 : nums4) {
                if(map.find(0 - (num3 + num4)) != map.end()) { //找到四数之和为0的下标
                    count += map[0 - (num3 + num4)];
                }
            }
        }

        return count;
    }
};
posted @ 2022-09-06 09:35  hjy94wo  阅读(12)  评论(0)    收藏  举报