Count Number of Bad Pairs LeetCode solution in C++

1
class Solution {
2
public:
3
long long countBadPairs(vector<int> &nums) {
4
// j - i != nums[j] - nums[i] means nums[i]-i != nums[j]-j
5
map<long long, long long> mp;
6
for (int i = 0; i < nums.size(); i++) {
7
nums[i] = nums[i] - i;
8

9
mp[nums[i]]++;
10
}
11
long long n = nums.size();
12
long long totalPair = n * (n - 1) / 2;
13

14
for (auto &it : mp) {
15
if (it.second > 1) {
16
totalPair -= (it.second) * (it.second - 1) / 2;
17
}
18
}
19

20
return totalPair;
21
}
22
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0