Neetcode 150 - Contains Duplicate
1. Brute Force
class Solution:
def hasDuplicate(self, nums: List[int]) -> bool:
for i in range(len(nums)):
for j in range(i + 1, len(nums)):
if nums[i] == nums[j]:
return True
return False
Notes: for i in range(5,5) => it run nothing.
-
Time Complexity: O(N^2).
-
Space Complexity: O(1).
2. Sorting
class Solution:
def hasDuplicate(self, nums: List[int]) -> bool:
nums.sort()
for i in range(1, len(nums)):
if nums[i] == nums[i - 1]:
return True
return False
-
Time Complexity: O(NlogN).
-
Space Complexity: O(1).
3. Hash set:
class Solution:
def hasDuplicate(self, nums: List[int]) -> bool:
seen = set()
for num in nums:
if num in seen:
return True
seen.add(num)
return False
-
Time Complexity: O(N).
-
Space Complexity: O(N).
4. Hash set length:
class Solution:
def hasDuplicate(self, nums: List[int]) -> bool:
return len(set(nums)) < len(nums)
-
Time Complexity: O(N).
-
Space Complexity: O(N).
Last Updated On October 22, 2025