2364.js
/** ------------------------------------------------------------------------------
*
* 2364. Count Number of Bad Pairs
* Topics: Array, Hash Table
* https://leetcode.com/problems/count-number-of-bad-pairs/description/
*
------------------------------------------------------------------------------ */
/**
* @param {number[]} nums
* @return {number}
*/
var countBadPairs = function (nums) {
let res = 0
let map = new Map()
let n = (nums.length * (nums.length - 1)) / 2
for (let i = 0; i < nums.length; i++) {
if (map.has(nums[i] - i)) {
res += map.get(nums[i] - i)
map.set(nums[i] - i, map.get(nums[i] - i) + 1)
} else {
map.set(nums[i] - i, 1)
}
}
// console.log(res);
return n - res
}
console.log(countBadPairs([4, 1, 3, 3]))
// console.log(countBadPairs([1, 2, 3, 4, 5]))