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.
class Solution {
public:
int majorityElement(vector<int> &num) {
int max=num[0],count=1;
for(int i=1;i<num.size();i++){
if (count==0){
max=num[i];
count++;
}
else if (max==num[i]){
count++;
}
else
count--;
}
return max;
}
};利用Moore‘s voting algorithm选出次数超过半数以上的元素~~复杂度o(n)leetcode_num169_Majority Element
原文:http://blog.csdn.net/eliza1130/article/details/44160173