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;
}
};