class Solution {
public:
int findPairs(vector<int>& nums, int k) {
if (nums.size() == 0 || k < 0) return 0;
sort(nums.begin(), nums.end());
unordered_set<int> set1;
unordered_set<int> sameset;
int result = 0;
for(int i = 0; i < nums.size(); i++) {
if (k != 0) {
if (!set1.count(nums[i]) && set1.count(nums[i] - k))
result++;
set1.insert(nums[i]);
} else {
if (!sameset.count(nums[i]) && set1.count(nums[i])) {
result++;
sameset.insert(nums[i]);
}
set1.insert(nums[i]);
}
}
return result;
}
};