217. Contains Duplicate

2021. 10. 29. 15:23Leetcode

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.

'''
[1] sorting)

code::
def containsDuplicate(nums):
    nums.sort()
    
    for i in range(len(nums)-1):
        if nums[i]==nums[i+1]:
            return True
    return False

-T/C: O(nlogn)
-S/C: O(1)
'''

'''
[2] hashmap)

code::
def containsDuplicate(nums):
    counter={}
    
    for num in nums:
        if num in counter:
            return True
        else:
            counter[num]=1
    return False
    
-T/C: O(n) # one-pass
-S/C: O(n) # for dict()
'''

'''
[3] set)

code::
def containsDuplicate(self, nums):
    s=set()
    for num in nums:
        s.add(num)
    
    return len(s)!=len(nums)
    
-T/C: O(n) # one-pass
-S/C: O(n) # for set()
'''

class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        s=set()
        
        for num in nums:
            s.add(num)
            
        return len(s)!=len(nums)

'Leetcode' 카테고리의 다른 글

994. Rotting Oranges  (0) 2021.10.30
121. Best Time to Buy and Sell Stock  (0) 2021.10.29
222. Count Complete Tree Nodes  (0) 2021.10.28
1. Two Sum  (0) 2021.10.28
153. Find Minimum in Rotated Sorted Array  (0) 2021.10.27