一:摩尔投票法
如果与保存的值相等times+1,不相等则times-1,如果times等于0,则result保存另外一个值,最后结束时;如果times大于0,则result保存的值就为超过一半的数值
class Solution
{
public:
int majorityElement(vector<int>& nums)
{
int result=nums[0];
int times=1;
for(int i=1;i<nums.size();++i)
{
if(times==0)
{
result=nums[i];
times=1;
}
else
if(result==nums[i])
{
times++;
}
else
{
times--;
}
}
return result;
}
};
二:先排序,取中位