SOURCE

// var findPairs = function(nums, k) {
//     nums = [...new Set(nums)];
//     nums.sort((a,b) => {return a - b;});
//     let map = new Map(), rel = 0;
//     nums.forEach((val,index,arr) => {
//         map.set(val + k,0);
//     });
//     nums.forEach((val,index,arr) => {
//         if (map.has(val)) {
//             map[val]++;
//           let curr = map.get(val);
//           map.set(val,curr + 1);
//         }
//     });
//     for (let [key, value] of map) {
//         rel += value;
//     }
//     return rel;
// };
var findPairs = function(nums, k) {
    let count = 0, len = nums.length;
    nums.sort((a,b) => {return a - b;});  // 升序排序
    for(let i = 0; i < len; i++){
        let curr = nums[i] + k;
        if (i -1 >= 0 && nums[i] == nums[i - 1]) {  // 排除k-diff对(i,j)中i重复的情况
            continue;
        }
        for (let j = i + 1; j < len; j++) {
            if (nums[j + 1] == nums[j] && j + 1 < len) {  // 排除k-diff对(i,j)中j重复的情况
                continue;
            }
            if (nums[j] == curr) {
                count++;
            }
        }
    }
    return count;
};
var nums = [1,3,1,5,4], k = 2;
console.log(findPairs(nums,k))
console 命令行工具 X clear

                    
>
console