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.
題意:找到數組中超過次數一半的數字
java代碼:
class Solution {
public static int majorityElement(int[] num) {
int main = num[0];
int count = 1;
for (int i = 1; i < num.length; i++) {
if (main == num[i]) count++;
else if (count > 0) count--;
else main = num[i];
}
return main;
}
}