要求:找出现超一半的、
思路:空间要求O(1)
class Solution {
public:
int majorityElement(vector<int>& nums) {
int cnt=0,num=0;
for(int i=0;i<nums.size();++i){
if(cnt==0){
num=nums[i];
++cnt;
}
else cnt=nums[i]==num?cnt+1:cnt-1;
}
return num;
}
};
class Solution {
public:
int majorityElement(vector<int>& nums) {
int cnt=1,num=nums[0];
for(int i=1;i<nums.size();++i){
if(num==nums[i])++cnt;
else --cnt;
if(cnt<0){
num=nums[i];
cnt=1;
}
}
return num;
}
};