排序后双指针
i在j之前,i往后走,要保持nums[i] - nums[k] <= k, k必须往后走
class Solution {
public:
int findPairs(vector<int>& nums, int k) {
sort(nums.begin(), nums.end());
int res = 0;
for(int i = 0, j = 0; i < nums.size(); i ++) {
while(i + 1 < nums.size() && nums[i] == nums[i + 1]) i ++;
while(j < i && nums[i] - nums[j] > k) j ++;
if(j < i && nums[i] - nums[j] == k) res ++;
}
return res;
}
};