思路:记录保存数及其次数;
①如果当前数与保存数不一致,次数减一,次数减为0,则保存当前数
②如果当前数与保存数一致,次数加一
class Solution {
public:
int majorityElement(vector<int>& nums) {
int r = nums[0], c = 1;
for(int i=1; i<nums.size(); i++)
{
if(r != nums[i])
c--;
else
c++;
if(c == 0){
r = nums[i];
c = 1;
}
}
return r;
}
};