DSA 섹션쉬움

보이어 무어 투표

'Boyer Moore Voting' 문제에 대한 자세한 가이드 및 Python 구현입니다.

문제 설명

쉬움

정수 목록 arr에서 다수 요소(n // 2번 이상 나타나는 요소)를 찾기 위해 Boyer-Moore 과반수 투표 알고리즘을 구현하는 함수 boyer_moore_majority(arr)을 작성하세요. 다수의 요소가 없으면 -1을 반환합니다.

제약
  • 1 <= len(arr) <= 5 * 10^4
  • -10^9 <= arr[i] <= 10^9

Example 1
Input
arr = [1, 1, 1, 2, 2]
Output
1
Explanation

1 appears 3 times which is greater than 5 // 2 = 2 times.

Example 2
Input
arr = [1, 2, 3]
Output
-1
Explanation

No element appears more than 3 // 2 = 1 time.

Need a Hint?
세트나 힙과 같은 배열별 데이터 구조를 사용하는 것을 고려해 보세요.
Edge Cases to Watch
  • 빈 입력 구조
  • 단일 요소 입력
  • 큰 수치 범위

해결할 준비가 되셨나요?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

편집기에서 열기
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.