0
点赞
收藏
分享

微信扫一扫

力扣 2006. 差的绝对值为 K 的数对数目

无聊到学习 2022-02-09 阅读 77

题目:

分析:

        看题首先想到了哈希存每个数出现的次数,在遍历数组时只需要把这个数出现的次数+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;
    }
}
举报

相关推荐

0 条评论