| 123456789101112131415161718192021222324252627 | 
							- func containsNearbyDuplicate(nums []int, k int) bool {
 
- 	if k <= 0 {
 
- 		return false
 
- 	}
 
- 	queue := make([]int, 0)
 
- 	set := make(map[int]struct{})
 
- 	i, n := 0, len(nums)
 
- 	for i = 0; i < k && i < n; i++ {
 
- 		queue = append(queue, nums[i])
 
- 		if _, ok := set[nums[i]]; ok {
 
- 			return true
 
- 		} else {
 
- 			set[nums[i]] = struct{}{}
 
- 		}
 
- 	}
 
- 	for ; i < n; i++ {
 
- 		queue = append(queue, nums[i])
 
- 		if _, ok := set[nums[i]]; ok {
 
- 			return true
 
- 		} else {
 
- 			delete(set, queue[0])
 
- 			set[nums[i]] = struct{}{}
 
- 			queue = queue[1:]
 
- 		}
 
- 	}
 
- 	return false
 
- }
 
 
  |