Given an array of integers and an integer k
, find out whether there are two distinct indices i
and j
in the array such that nums[i] = nums[j]
and the absolute difference between i
and j
is at most k
.
判断数组中是否有重复的元素,并且下标之差不超过k
。
class Solution {
public:
bool containsNearbyDuplicate(vector<int>& nums, int k) {
unordered_map<int, int> hash;
for (int i=0; i<nums.size(); i++) {
if (hash.find(nums[i])!=hash.end()&&i-hash[nums[i]]<=k) {
return 1;
}else{
hash[nums[i]] = i;
}
}
return 0;
}
};