728x90
코딩 알고리즘 인터뷰 공부
문제
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
'Python' 카테고리의 다른 글
33. Search in Rotated Sorted Array - 1주차 알고리즘 코딩 인터뷰 공부 (0) | 2022.08.31 |
---|---|
1주차 파이썬 알고리즘- 152. Maximum Product Subarray (0) | 2022.08.30 |
1주차 - 121. Best Time to Buy and Sell stock [코딩 인터뷰 공부] (0) | 2022.07.25 |
1주차 - 53. Maximum Subarray [코딩 인터뷰 공부] (0) | 2022.07.08 |
1주차 - 238. Product of Array Except Self [코딩 인터뷰 공부] (0) | 2022.07.08 |