其他分享
首页 > 其他分享> > 力扣 2006. 差的绝对值为 K 的数对数目

力扣 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