存在重复元素 II:简单难度
function containsNearbyDuplicate(nums: number[], k: number): boolean {
for(let i = 0; i < nums.length - 1; i++){
for(let j = i + 1; j < nums.length; j++){
if(nums[i] === nums[j] && (Math.abs(i - j) <= k)){
return true
}
}
}
return false;
};
思路:
- 循环遍历,找到符合nums[i] === nums[j]的 i 和 j,再做相减取绝对值,最后和传入的k比较,符合条件返回true,不符合返回false
- 内层循环取值问题:当外层循环取值为0时,取的数组第一项,所以内层要从第二项开始取值比较j = i + 1;