自学内容网 自学内容网

【leetcode】169.多数元素

boyer-moore算法最简单理解方法: 假设你在投票选人 如果你和候选人(利益)相同,你就会给他投一票(count+1),如果不同,你就会踩他一下(count-1)当候选人票数为0(count=0)时,就换一个候选人,但因为和你利益一样的人占比超过了一半 不论换多少次 ,最后留下来的都一定是个和你(利益)相同的人。

代码:


int majorityElement(int* nums, int numsSize) 
{
int count = 0;
int x = nums[0];
for (int i = 0; i < numsSize; i++)
{
if (count == 0)
{
x = nums[i];
}
if (x == nums[i])
{
count++;
}
else
{
count--;
}
}
return x;
}


原文地址:https://blog.csdn.net/weixin_66400112/article/details/142645819

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!