-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path217_ContainsDuplicate.py
79 lines (59 loc) · 2.3 KB
/
217_ContainsDuplicate.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#-------------------------------------------------------------------------------
#
#-------------------------------------------------------------------------------
# By Will Shin
#
#-------------------------------------------------------------------------------
# LeetCode prompt
#-------------------------------------------------------------------------------
"""
Given an array of integers, find if the array contains any duplicates.
Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.
Example 1:
Input: [1,2,3,1]
Output: true
Example 2:
Input: [1,2,3,4]
Output: false
Example 3:
Input: [1,1,1,3,3,4,3,2,4,2]
Output: true
"""
# #
#-------------------------------------------------------------------------------
# Approach
#-------------------------------------------------------------------------------
"""
Storing values in dictionary. and seeing if number exists as key. If at any point you reach a number that already in dict, return true. Else return false.
"""
#-------------------------------------------------------------------------------
# Solution
#-------------------------------------------------------------------------------
def mycontainsDuplicate(nums):
dups = {}
for num in nums:
if num in dups.keys():
return True
dups[num] = 1
return False
#-------------------------------------------------------------------------------
# Main Leetcode Input Driver
#-------------------------------------------------------------------------------
class Solution:
def containsDuplicate(self, nums):
return mycontainsDuplicate(nums)
#-------------------------------------------------------------------------------
# Unit Test
#-------------------------------------------------------------------------------
import unittest
class TestSolution(unittest.TestCase):
def test_1(self):
list_of_num = [1, 2, 3, 1]
self.assertTrue(Solution().containsDuplicate(list_of_num))
def test_2(self):
list_of_num = [1, 2, 3, 4]
self.assertFalse(Solution().containsDuplicate(list_of_num))
def test_3(self):
list_of_num = [1, 1, 1, 3, 3, 4, 3, 2, 4, 2]
self.assertTrue(Solution().containsDuplicate(list_of_num))
unittest.main()