217. Contains Duplicate
Description of the Problem
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
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 <= 10^510^9 <= nums[i] <= 10^9
Solution
Code (Java)
// import java.util.HashSet;
class Solution {
public boolean containsDuplicate(int[] nums) {
HashSet <Integer> set = new HashSet();
for (int n : nums){
if (!set.add(n))
return true;
}
return false;
}
}
Code(Rust)
use std::collections::HashSet;
impl Solution {
pub fn contains_duplicate(nums: Vec<i32>) -> bool {
let mut set : HashSet<i32> = HashSet::new();
for n in nums {
if !set.insert(n) {
return true;
}
}
return false;
}
}
Complexity
- n is the number of elements in the array
Time complexity:
- \( T(n) = O(n) \)
Auxiliary Space:
- \( S(n) = O(n) \)
- For HashMap