解法:1 排序取中
note1: sort函数: sort(nums.begin(),snms.end());
class Solution {
public:
int majorityElement(vector<int>& nums) {
sort(nums.begin(),nums.end());
return nums[nums.size()/2];
}
};
解法二:同归于尽:
class Solution {
public:
int majorityElement(vector<int>& nums) {
int a=nums.size();
int target=nums[0];
int num=1;
for(int i=1;i<a;++i)
{
if(target==nums[i])
num++;
else
{
num--;
if(num==0)
{
target=nums[++i]; // ++i 直接重下一个开始
num=1; //记得把num重置为 1
}
}
}
return target;
}
};