728x90

코딩 알고리즘 인터뷰 공부

리트코드217

문제

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

주어진 nums array 에 대하여, 중복 되는 요소가 있으면 true 를 return 하고 모든 요소가 다르면 false 를 return 하시오.

.

.

.

.

.

.

if len(nums) == len(set(nums)):
    return False
return True​

시간 복잡도: O(n) set 를 만들기 위해 array(list) 를 훑기 때문입니다.

공간 복잡도: O(n) 

 

런타임: 398ms, 90.15%

메모리 사용: 23.8MB, 63.74%

 

혹은

 

return len(nums) != len(set(nums))

 

혹은

 

hashNum = {}
for i in nums:
  if i not in hashNum:
      hashNum[i] = 1
  else:
      return True
return False

시간 복잡도: O(n)

공간 복잡도: O(n) 

 

728x90
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기