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.
投票策略。接设每个数字都投自己一票,结果一定是大多数的数字胜出。不同数字的得票可以相互抵消。
int majorityElement(vector<int> &num) {
int voter = num[0];
int count = 1;
int size = num.size();
for(int i = 1; i< size; i++){
if(count == 0){
count++;
voter = num[i];
}
else if(voter == num[i])
count++;
else
count--;
}
return voter;
}原文地址:http://blog.csdn.net/chenlei0630/article/details/42176177