Skip to content

217. Contains Duplicate share

Problem Statement

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 <= 105
  • -109 <= nums[i] <= 109

Solution:

rs
impl Solution {
    pub fn contains_duplicate(nums: Vec<i32>) -> bool {
        let mut set = std::collections::HashSet::new();

        for num in nums {
            if set.contains(num) {
                return true;
            } else {
                set.insert(num);
            }
        }
        false
    }
}
C#
public sealed class Solution
{
    /// <summary>
    /// Determines whether the given array contains any duplicate elements.
    /// </summary>
    /// <param name="numbers">The array to check for duplicates.</param>
    /// <returns>True if any element appears at least twice; otherwise, false.</returns>
    public bool ContainsDuplicate(int[] numbers)
    {
        var uniqueNumbers = new HashSet<int>(numbers.Length);

        foreach (var number in numbers)
        {
            if (!uniqueNumbers.Add(number)) return true;
        }

        return false;
    }

    /// alternative
    /// public bool ContainsDuplicate(int[] numbers) =>
    ///   numbers.Length > new HashSet<int>(numbers).Count;
}

...

Released under the MIT License.