【解题思路】
需要注意的是,k可能等于0,此时需要计算相等的数有多少组。
class Solution {
public int findPairs(int[] nums, int k) {
Arrays.sort(nums);
List<Integer> list = new ArrayList<Integer>();
int ans = 0;
int num = nums[0];
list.add(num);
boolean flag = true;
int sameNum = 0;
for(int i= 1; i < nums.length; i++)
{
if(nums[i] != num)
{
list.add(nums[i]);
num = nums[i];
flag = true;
}
else if(flag)
{
sameNum++;
flag = false;
}
}
if(k == 0) return sameNum;
for(int i = 1; i < list.size(); i++)
{
for(int j = 0; j < i; j++)
{
if(list.get(i) - list.get(j) == k) ans++;
}
}
return ans;
}
}