217. Contains Duplicate

217. Contains Duplicate

一、題目

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

 

二、程式作法

public class Solution
{
    public bool ContainsDuplicate(int[] nums)
    {
        HashSet<int> set = new HashSet<int>();
        for (int i = 0; i < nums.Length; i++)
            if (!set.Contains(nums[i]))
                set.Add(nums[i]);
            else
                return true;
        return false;
    }
}

 

三、思路筆記

題目要判斷一陣列的元素值是否有出現兩次以上。

你可以排序後再來比對。而我則是利用 HashSet 來判斷。