欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

532. K-diff Pairs in an Array

程序员文章站 2022-03-07 18:41:01
...

532. K-diff Pairs in an Array
532. K-diff Pairs in an Array
532. K-diff Pairs in an Array

    int findPairs(vector<int>& nums, int k) {
        sort(nums.begin(),nums.end());
        set<int> s;
        int res=0,n=nums.size();
        for(int i=0;i<n-1;i++){
            for(int j=i+1;j<n;j++){
                int tmp=nums[j]-nums[i];
                if(tmp==k) {
                    if(!s.count(nums[i])){
                        s.insert(nums[i]);
                        res++;
                    }
                }
                else if(tmp>k) break;
            }
        }
        return res;
    }
   int findPairs(vector<int>& nums, int k) {
        unordered_map<int,int> m;
        int res=0;
        for(auto num:nums) m[num]++;
        for(auto it:m){
            if(k==0&&it.second>1) res++;
            else if(k>0&&m.count(k+it.first)) res++;
        }
        return res;
    }