Skip to main content

存在重复元素-ii

Tips

题目类型: HashMap

相关题目:

题目

给定一个整数数组和一个整数 k, 判断数组中是否存在两个不同的索引 i 和 j, 使得 nums[i] === nums[j], 并且 i 和 j 的差的绝对值至多为 k.

示例

输入: nums = [1,2,3,1], k = 3

输出: true

题解

哈希表, 下一题.

/**
* @param {number[]} nums
* @param {number} k
* @return {boolean}
*/

var containsNearbyDuplicate = function (nums, k) {
const set = new Set()

for (let i = 0; i < nums.length; i++) {
if (set.has(nums[i])) return true

set.add(nums[i])

if (set.size > k) {
set.delete(nums[i - k])
}
}

return false
}