其他分享
首页 > 其他分享> > LeetCode 454 4Sum II

LeetCode 454 4Sum II

作者:互联网

Given four integer arrays nums1, nums2, nums3, and nums4 all of length n, return the number of tuples (i, j, k, l) such that:

Solution

改写一下得到:

\[nums1[i]+nums2[j]=-(nums3[k]+nums4[l]) \]

那么直接用 \(map\) 即可,复杂度 \(O(n^2)\)

点击查看代码
class Solution {
private:
    int ans = 0;
    map<int,int> mp;
    
public:
    int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) {
        int n = nums1.size();
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                mp[nums1[i]+nums2[j]]++;
            }
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                ans+=mp[-nums3[i]-nums4[j]];
            }
        }
        return ans;
    }
};

标签:4Sum,int,454,II,vector,nums4,nums1,nums2,nums3
来源: https://www.cnblogs.com/xinyu04/p/16542413.html