532. K-diff Pairs in an Array
程序员文章站
2022-03-07 18:41:01
...
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;
}
上一篇: 前端面试知识点(三)