Faaez Razeen

Contains Duplicate II

  • 2 min read
  • Array
  • LC-Easy
  • Sliding Window

3 years ago

Solution

TimeSpaceExplanation
O(n)O(k)
function containsNearbyDuplicate(nums: number[], k: number): boolean { let l = 0; const seen = new Set(); for(let r = 0; r < nums.length; r++) { if (r - l > k) { seen.delete(nums[l++]); } if (seen.has(nums[r])) { return true; } seen.add(nums[r]); } return false; };

O(n) space solution

function containsNearbyDuplicate(nums: number[], k: number): boolean { const seen = {} for(let i = 0; i < nums.length; i++) { if (nums[i] in seen && (i - seen[nums[i]]) <= k) { return true; } seen[nums[i]] = i; } return false; };