forked from lazzzis/LeetCode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
25 lines (24 loc) · 704 Bytes
/
Copy pathmain.js
File metadata and controls
25 lines (24 loc) · 704 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/**
* @param {number[]} nums
* @param {number} k
* @return {boolean}
*/
var containsNearbyDuplicate = function (nums, k) {
const map = {}
for (const [index, item] of nums.entries()) {
if (map[item] != null && index - map[item] <= k) {
return true
}
map[item] = index
}
return false
}
if (process.env.LZS) {
const assert = require('chai').assert
assert(containsNearbyDuplicate([1, 2, 1, 2], 2))
assert(containsNearbyDuplicate([1, 2, 3, 4, 1], 4))
assert(containsNearbyDuplicate([1, 1], 1))
assert.isFalse(containsNearbyDuplicate([1, 2, 3, 4, 1], 3))
assert.isFalse(containsNearbyDuplicate([1, 2, 3, 4, 1], 0))
assert.isFalse(containsNearbyDuplicate([1], 1))
}