思路:

代码:
class Solution {
public boolean containsNearbyDuplicate(int[] nums, int k) {
HashSet<Integer> set = new HashSet<>();
for(int i = 0; i < nums.length; i++){
if(set.contains(nums[i])){
return true;
}
set.add(nums[i]);
if(set.size() > k){
set.remove(nums[i - k]);
}
}
return false;
}
}
本文介绍了一种使用HashSet解决给定整数数组中k范围附近重复元素问题的Java实现。通过遍历数组并维护一个哈希集合,可以在O(n)时间内判断是否存在重复元素。关键在于在添加新元素时,如果集合大小超过k,就移除最远的一个元素。
624

被折叠的 条评论
为什么被折叠?



