Mini
리트코드 169 다수원소 // 배열, 투표알고리즘 본문
https://leetcode.com/problems/majority-element/description/
* 풀이1
절반이상인 원소가 반드시 존재함을이용
정렬 -> 중간지점의 원소가 다수원소임
class Solution {
public int majorityElement(int[] nums) {
Arrays.sort(nums);
return nums[nums.length/2];
}
}
O(nlgn)
* 풀이2
투표 알고리즘 이용
O(n)

class Solution {
public int majorityElement(int[] nums) {
int king=nums[0];
int cnt=1;
for(var num : nums){
if(num==king){
cnt++;
continue;
}
cnt--;
if(cnt==0){
king=num;
cnt=1;
}
}
return king;
}
}'Algorithm > 배열' 카테고리의 다른 글
| [배열] 프로그래머스 행렬의 곱셉 (0) | 2025.07.02 |
|---|---|
| [맞음] 프로그래머스 서버증설횟수 // 배열, 구현 (0) | 2025.05.13 |
| [틀림] 프로그래머스 자물쇠와 열쇠 // 배열회전, 배열좌표 (0) | 2025.04.04 |
| [틀림 hard] 프로그래머스 외벽점검 // 원형배열, 순열, 비트마스킹 (0) | 2025.03.31 |
| [알고리즘] 리트코드 238. Product of Array Except Self c++ // 배열, 누적곱, rbegin, partial_sum (0) | 2024.07.02 |