困难的题你是一个不做啊

115 阅读1分钟

存在重复元素 II:简单难度

重复元素.png

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;

res.png

代码和人有一个能跑就行,问题不大,嘻嘻嘻