解题思路:
用双指针的方法,一个指针i从0开始走,另一个指针j不断找i所在位置的对应k-diff,代码如下:
class Solution {
public:
int findPairs(vector& nums, int k) {
int n = nums.size();
int ans = 0;
sort(nums.begin(), nums.end());
for(int i = 0, j = 0; i < n; i ++) {
if(i == 0 || nums[i] != nums[i - 1]) {
while(j < n && (nums[j] - nums[i] < k || j <= i)) {
j ++;
}
if(j < n && nums[j] - nums[i] == k) {
ans ++;
}
}
}
return ans;
}
};


![LeetCode 532 数组中的k-diff数对[双指针] HERODING的LeetCode之路 LeetCode 532 数组中的k-diff数对[双指针] HERODING的LeetCode之路](http://www.mshxw.com/aiimages/31/977091.png)
