> For the complete documentation index, see [llms.txt](https://cai-sen-se.gitbook.io/leetcode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cai-sen-se.gitbook.io/leetcode/201-400/219.-cun-zai-zhong-fu-yuan-su-ii.md).

# 219. 存在重复元素 II

<https://leetcode-cn.com/problems/contains-duplicate-ii/>

## 解法一：

维护一个最多元素为k的set，利用set中无重复元素的特性，一次遍历数组，每次将一个元素写入set，超出k个则将最先写入的元素移出。若检测到相同元素，说明他们之间的距离不超过k，符合题意。

```javascript
/**
 * @param {number[]} nums
 * @param {number} k
 * @return {boolean}
 */
var containsNearbyDuplicate = function(nums, k) {
    s = new Set()
    for(let i in nums) {
        if (s.has(nums[i])) return true
        s.add(nums[i])
        if (s.size > k) {
            s.delete(nums[i-k])    //移出最早加入的元素
        }
    }
    return false
};
```
