코테준비 - Majority Element

정상화·2023년 2월 26일

LeetCode

목록 보기
157/222

Majority Element


class Solution {
public:
    vector<int> majorityElement(vector<int>& nums) {
        int major1, major2, cnt1, cnt2;
        major1 = major2 = INT32_MIN;
        cnt1 = 0;
        cnt2 = 1;
        for (auto &num: nums) {
            if (num == major1) {
                cnt1++;
            } else if (num == major2) {
                cnt2++;
            } else if (!cnt1) {
                major1 = num;
                cnt1 = 1;
            } else if (!cnt2) {
                major2 = num;
                cnt2 = 1;
            } else {
                cnt1--;
                cnt2--;
            }
        }
        vector<int> res;
        if (major1 != INT32_MIN) {
            res.push_back(major1);
        }
        if (major2 != INT32_MIN) {
            res.push_back(major2);
        }
        return res;
    }
};
profile
백엔드 희망

0개의 댓글