본문에서 언급되는 알고리즘은 문자열 검색과는 다른 알고리즘입니다.
특정 배열이 있을 때, 그 배열에서 과반수를 차지하는 아이템이 어떤 것인지 찾는 알고리즘입니다.
Time Complexity: O(n)
Space Complexity: O(1)
과반수를 차지하는 아이템은 count > size(nums)/2 의 특성을 가지고 있습니다.
def majorityElement(nums: List[int]) -> int:
count = 0
candidate = None
for num in nums:
if count == 0:
candidate = num
count += (1 if num == candidate else -1)
return candidate
https://www.youtube.com/watch?v=gY-I8uQrCkk
'basic > 자료구조 & 알고리즘' 카테고리의 다른 글
PDQ Sort (현재 가장 빠른 정렬 알고리즘) (0) | 2022.06.18 |
---|---|
[알고리즘/자료구조] 링크드 리스트(linked list) (0) | 2019.07.31 |