```
int findPairs(vector<int>& nums, int k) {
if(k<0)return 0;
unordered_map<int,int> map;
int res = 0;
for(int& num:nums){
map[num]++;
res += (k==0)?map[num]==2:(map[num]==1)?(map[num+k]>0) + (map[num-k]>0):0;
}
return res;
}
```