力扣 2006. 差的绝对值为 K 的数对数目
作者:互联网
题目:
分析:
看题首先想到了哈希存每个数出现的次数,在遍历数组时只需要把这个数出现的次数+1,并查出这个数+-2的两个数出现的次数相加到总数中,在遍历完数组后就得到了结果。
代码:
class Solution {
public int countKDifference(int[] nums, int k) {
HashMap<Integer,Integer> hash=new HashMap<Integer,Integer>();
int sum=0;
for(int i:nums){
if(hash.containsKey(i-k)){
sum+=hash.get(i-k);
}
if(hash.containsKey(i+k)){
sum+=hash.get(i+k);
}
if(!hash.containsKey(i)){
hash.put(i,1);
}else{
hash.put(i,1+hash.get(i));
}
}
return sum;
}
}
标签:hash,HashMap,get,int,sum,力扣,2006,绝对值,containsKey 来源: https://blog.csdn.net/yyswit/article/details/122842507