Count Number of Bad Pairs LeetCode solution in C++
1class Solution {2public:3long long countBadPairs(vector<int> &nums) {4// j - i != nums[j] - nums[i] means nums[i]-i != nums[j]-j5map<long long, long long> mp;6for (int i = 0; i < nums.size(); i++) {7nums[i] = nums[i] - i;89mp[nums[i]]++;10}11long long n = nums.size();12long long totalPair = n * (n - 1) / 2;1314for (auto &it : mp) {15if (it.second > 1) {16totalPair -= (it.second) * (it.second - 1) / 2;17}18}1920return totalPair;21}22};