您的位置:首页 > 大数据 > 人工智能

532. K-diff Pairs in an Array

2018-01-07 19:57 357 查看






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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: