## About

I’ve decided to do a LeetCode a day, and picked an easy one to get me started #217 Contains Duplicate.

## Description

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`

## Thoughts

My initial instinct was to iterate through the array and compare each value. Then I considered sorting the array, then iterating and comparing `i`

to `j`

. In the end I converted the array to a `Set`

and compared the counts. While this may not be the fastest solution (O(n)) it is succinct and easy to understand.

## Solution

- Convert the Array to a Set to automatically remove duplicates.
- Compare and return false unless they are equal

```
class Solution {
func containsDuplicate(_ nums: [Int]) -> Bool {
let set = Set(nums)
return nums.count != set.count
}
}
```