2006.差的绝对值为K的数对数目
链接:2006.差的绝对值为K的数对数目
难度:Easy
标签:数组、哈希表、计数
简介:给你一个整数数组 nums 和一个整数 k ,请你返回数对 (i, j) 的数目,满足 i < j 且 |nums[i] - nums[j]| == k 。
题解 1 - cpp
- 编辑时间:2022-02-09
- 执行用时:4ms
- 内存消耗:12.1MB
- 编程语言:cpp
- 解法介绍:遍历。
class Solution {
   public:
    int countKDifference(vector<int>& nums, int k) {
        int m[300] = {0}, ans = 0;
        for (auto& num : nums) {
            ans += m[num + k + 100] + m[num - k + 100];
            m[num + 100]++;
        }
        return ans;
    }
};
题解 2 - cpp
- 编辑时间:2022-02-09
- 执行用时:8ms
- 内存消耗:14MB
- 编程语言:cpp
- 解法介绍:遍历。
class Solution {
   public:
    int countKDifference(vector<int>& nums, int k) {
        unordered_map<int, int> m;
        int ans = 0;
        for (auto& num : nums) {
            ans += m[num + k] + m[num - k];
            m[num]++;
        }
        return ans;
    }
};