力扣454-四数相加

四数相加

题目链接

解题思路:

  1. 用一个哈希表来存储数组C和D当中所有可能出现的和的次数
  2. 遍历数组A和B,看看是否有满足c+d==-(a+b)即可。
class Solution {
public:
    int fourSumCount(vector& A, vector& B, vector& C, vector& D) {
        unordered_map cnt;
        int ans = 0;
        for(auto c : C){
            for(auto d : D){
                cnt[c+d]++;
            }
        }
        for(auto a:A){
            for(auto b:B){
                ans += cnt[-(a+b)];
            }
        }
        return ans;
    }
};

你可能感兴趣的:(算法-每日一练,leetcode,算法)