LeetCode 2006 差的绝对值为K的数对数目[Map] HERODING的LeetCode之路

解题思路: 既然加了绝对值,那么只需要统计比每个数大k的数对个数即可,用map记录每个数的个数,然后遍历每个map对,判断比当前数大k的数是否在map中有记录,有的话直接二者个数相乘,加到ans中,代码如下:
class Solution {
public:
int countKDifference(vector& nums, int k) {
unordered_map 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];

LeetCode 2006 差的绝对值为K的数对数目[Map] HERODING的LeetCode之路最先出现在Python成神之路

版权声明:
作者:主机优惠
链接:https://www.techfm.club/p/16610.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>