(int[] nums, int k)
| 1 | class Solution { |
| 2 | public boolean containsNearbyDuplicate(int[] nums, int k) { |
| 3 | |
| 4 | Set<Integer> window = new HashSet<>(); |
| 5 | int left = 0; |
| 6 | for (int right = 0; right < nums.length; right++) { |
| 7 | |
| 8 | if (window.size() > k) { |
| 9 | window.remove(nums[left]); |
| 10 | left++; |
| 11 | } |
| 12 | |
| 13 | if (window.contains(nums[right])) { |
| 14 | return true; |
| 15 | } |
| 16 | |
| 17 | window.add(nums[right]); |
| 18 | } |
| 19 | |
| 20 | return false; |
| 21 | } |
| 22 | } |