# Links

Go to my solution

Go to the question on LeetCode

# My Thoughts

**What Went Well**

I remembered sets and their properties.

**What I Learned**

I learned how to solve this problem using javascript to remove some rust. I also learned how to create a visual for this problem since I couldn’t find one online.

**Comments**

Due to how much syntactic sugar python has, this was the fastest I’ve ever, and will ever, complete a question.

Another approach to this problem could be the use of a hash table or dictionary. You can iterate through the nums array and add elements into the dictionary until you encounter an element already inside the dictionary. This approach is viable because of dictionaries’ O(1) access time.

# Data Structure Description

**Hash Table (Set) -** An unordered container of non-repeating values.

**Hash Map (Dictionary) -** A data structure that maps keys to their values. Each key may only appear once.

**Visual Examples**

An array being transformed into a set, click to view

Illustration of key value pair mapping, click to view

# Solution Statistics

**Time Spent Coding**

50 Seconds

**Time Complexity**

O(n) - All the array elements must be duplicated and counted. All the elements in the set must also be counted. These operations are O(n), resulting in the O(n) time complexity.

**Space Complexity**

O(n) - If the array does not contain duplicates, the set will have n elements, resulting in the O(n) space complexity.

**Runtime Beats**

88.26% of other submissions

**Memory Beats**

79.5% of other sumbissions

# Solution

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
# ***Explanation of the oneliner***
#
# s = set(nums)
#
# Since a set can not contain duplicates if the lengths are not equal
# then the nums array must contain duplicates
# if len(nums) != len(s):
# return False
#
# else:
# return True
return len(nums) != len(set(nums))