Problem Statement
Description
Given an integer array nums
, return true if any value appears at least twice in the array, and return false
if every element is distinct.
Examples
Example 1:
Input: nums = [1,2,3,1]
Output: true
Example 2:
Input: nums = [1,2,3,4]
Output: false
Example 3:
Input: nums = [1,1,1,3,3,4,3,2,4,2]
Output: true
Constraints
1 <= nums.length <= 105
-109 <= nums[i] <= 109
Key Insights
This is a very simple problem that introduces the concept of a hash set. As we loop through the array, we check if the current number already exists in the set, if it does, we’re done! We can return True
. If it doesn’t, we add the number to the set and move on. If we make it through the loop without finding a duplicate, we return False
at the end.
Python Solution
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
hash_set = set()
# If we find a number in the hash set, return True.
# If we don't find any number in the hash set, we
# know we don't have any duplicates, return False
for num in nums:
if num in hash_set:
return True
else:
hash_set.add(num)
return False