1.题目描述
2.示例
3.思路
不断的更新临时保存的a的值,用b来保存次数
4.代码
int majorityElement(int* nums, int numsSize)
{
int a=nums[0],b=1;
int i=0;
for(i=1;i<numsSize;i++)
{
if(nums[i]==a)
{
b++;//相同了加
}
else
{
b--;//不同了减
}
if(b==0)//减为零换
{
a=nums[i];
b=1;
}
}
return a;
}
5.复杂度
时间复杂度:O(n)
空间复杂度:O(1)