169. majority element 解答

Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.

You may assume that the array is non-empty and the majority element always exist in the array.

Credits:
Special thanks to @ts for adding this problem and creating all test cases.

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Solution {
public int majorityElement(int[] num) {
int major = num[0], count = 1;
for (int i = 1; i < num.length; i++) {
if (count == 0) {
count++;
major = num[i];
} else if (major == num[i]) {
count++;
} else
count--;
}
return major;
}
}