Skip to content

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)