classSolution { public: longlongcountBadPairs(vector<int>& nums){ unordered_map<int, int> times; ll ans = nums.size() * (nums.size() - 1) / 2; for (int i = 0; i < nums.size(); i++) { ans -= times[nums[i] - i]++; } return ans; } };
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
''' Author: LetMeFly Date: 2025-04-18 10:26:49 LastEditors: LetMeFly.xyz LastEditTime: 2025-04-18 10:28:15 ''' from typing importList from collections import defaultdict
classSolution: defcountBadPairs(self, nums: List[int]) -> int: times = defaultdict(int) ans = len(nums) * (len(nums) - 1) // 2 for i, v inenumerate(nums): ans -= times[v - i] times[v - i] += 1 return ans
funccountBadPairs(nums []int)int64 { ans := len(nums) * (len(nums) - 1) / 2 times := map[int]int{} for i, v := range nums { ans -= times[v - i] times[v - i]++ } returnint64(ans) }