【Leetcode】2006. Count Number of Pairs With Absolute Difference K

题目地址:

https://leetcode.com/problems/count-number-of-pairs-with-absolute-difference-k/

给定一个长 n n n数组 A A A和一个正整数 k k k,求所有的使得 ∣ A [ i ] − A [ j ] ∣ = k |A[i]-A[j]|=k A[i]A[j]=k的数对 ( i , j ) (i,j) (i,j)的个数。

代码如下:

import java.util.HashMap;
import java.util.Map;

public class Solution {
    
    
    public int countKDifference(int[] nums, int k) {
    
    
        Map<Integer, Integer> map = new HashMap<>();
        int res = 0;
        for (int x : nums) {
    
    
            res += map.getOrDefault(x - k, 0) + map.getOrDefault(x + k, 0);
            map.put(x, map.getOrDefault(x, 0) + 1);
        }
        
        return res;
    }
}

时空复杂度 O ( n ) O(n) O(n)

猜你喜欢

转载自blog.csdn.net/qq_46105170/article/details/120682085