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.
public class Solution {
public boolean containsNearbyDuplicate(int[] nums, int k) {
if(nums.length <1) return false;
if(k <1) return false;
int i = 0;
int j = k < nums.length ? k :nums.length -1;
while(i<j && j<nums.length){
if(nums[i] != nums[j]){
i++;
}
else{
return true;
}
if(i==j){
i = i-k+1;
j++;
}
}
return false;
}
}
本站原创文章皆遵循“署名-非商业性使用-相同方式共享 3.0 (CC BY-NC-SA 3.0)”。转载请保留以下标注: