Majority Element II LeetCode solution in C++

1
class Solution {
2
public:
3
vector<int> majorityElement(vector<int> &nums) {
4
int n = nums.size();
5

6
vector<int> result;
7

8
int num1 = -1, num2 = -1, count1 = 0, count2 = 0;
9

10
for (auto it : nums) {
11
if (num1 == it)
12
++count1;
13
else if (num2 == it)
14
++count2;
15
else if (count1 == 0) {
16
num1 = it;
17
count1 = 1;
18
} else if (count2 == 0) {
19
num2 = it;
20
count2 = 1;
21
} else {
22
--count1;
23
--count2;
24
}
25
}
26

27
count1 = 0;
28
count2 = 0;
29

30
for (auto it : nums) {
31
if (it == num1)
32
++count1;
33
else if (it == num2)
34
++count2;
35
}
36

37
if (count1 > (n / 3)) result.push_back(num1);
38
if (count2 > (n / 3)) result.push_back(num2);
39

40
return result;
41
}
42
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0