题目中明确提到一定存在众数,否则需要再次遍历一遍数组,确定得到的结果数量超过一半。
int majorityElement(vector<int>& nums) {
int res = nums[0];
int times = 0;
for(int i:nums){
if(res==i)
++times;
else
--times;
if(times==0){
res=i;
times=1;
}
}
return res;
}