217. Contains Duplicate
Description
Difficulty: Easy
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.
Example 1:
Input: nums = [1,2,3,1]
Output: true
Explanation:
The element 1 occurs at the indices 0 and 3.
Example 2:
Input: nums = [1,2,3,4]
Output: false
Explanation:
All elements are distinct.
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
Solution
Use HashSet
Same as 1. Two Sum
Code
Java
import java.util.HashSet;
class Solution {
public boolean containsDuplicate(int[] nums) {
HashSet<Integer> n = new HashSet<Integer>();
for (int i = 0; i < nums.length; ++i) {
if (n.contains(nums[i])) {
return true;
}
n.add(nums[i]);
}
return false;
}
}
Time complexity: O(n)
Space complexity: O(n)