[LeetCode]532. K-diff Pairs in an Array
程序员文章站
2022-03-07 18:27:55
...
[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;
}