class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
cache = defaultdict(int)
for i in nums:
if i in cache:
return True
else:
cache[i] = i
return False
Space O(N), Time O(N)
Solution 3
This would be the slowest solution as it has the overhead of sorting the list.
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
sorted_list = sorted(nums)
for i in range(len(sorted_list) - 1):
if sorted_list[i] == sorted_list[i+1]:
return True
return False
Space O(N), Time O(N log N) - Time complexity for sort. See: