[LeetCode]532. K-diff Pairs in an Array

来源:互联网 发布:音乐编辑合成软件 编辑:程序博客网 时间:2024/06/05 22:45

[LeetCode]532. K-diff Pairs in an Array

题目描述

这里写图片描述

思路

哈希,计数
如果k为负,直接返回0
如果k为0,即为求重复元素

代码

#include <iostream>#include <unordered_map>#include <vector>#include <algorithm>using namespace std;class Solution {public:    int findPairs(vector<int>& nums, int k) {        int res = 0;        if (k < 0)            return res;        unordered_map<int, int> um;        for (int num : nums)            um[num]++;        for (auto p : um) {            if (k == 0) {                if (p.second > 1) res += 1;            }            else {                if (um.count(p.first + k)) res += 1;            }        }        return res;    }};int main() {    vector<int> nums = { 1,2,3,4,5 };    Solution s;    cout << s.findPairs(nums, -1) << endl;    system("pause");    return 0;}