
解题思路:
既然加了绝对值,那么只需要统计比每个数大k的数对个数即可,用map记录每个数的个数,然后遍历每个map对,判断比当前数大k的数是否在map中有记录,有的话直接二者个数相乘,加到ans中,代码如下:
class Solution {
public:
int countKDifference(vector<int>& nums, int k) {
unordered_map<int, int> mp;
for(int& num : nums) {
mp[num] ++;
}
int ans = 0;
for(auto& [a, b] : mp) {
if(mp.count(a + k)) {
ans += b * mp[a + k];
}
}
return ans;
}
};
本文介绍了如何使用Python解决含有绝对值的计数问题,通过构建unordered_map存储每个数的出现次数,遍历并计算大于当前数k的数对乘积,最终返回答案。
211

被折叠的 条评论
为什么被折叠?



