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