程式語言 - LeetCode - C++ - 532. K-diff Pairs in an Array



題目:


解答:

class Solution {
public:
    int findPairs(vector<int>& nums, int k) {
        int ans = 0;
        unordered_map<int, int> mp;

        for (int n : nums) {
            mp[n] += 1;
        }

        if (k == 0) {
            for (auto& [n, v] : mp) {
                if (v >= 2) {
                    ans += 1;
                }
            }
        }
        else {
            for (auto& [n, _] : mp) {
                if (mp.count(n + k)) {
                    ans += 1;
                }
            }
        }

        return ans;
    }
};