首页 > 其他分享 >数组中数字超过一半的数字

数组中数字超过一半的数字

时间:2022-10-18 16:11:47浏览次数:50  
标签:数字 一半 超过 int 抵消 数组

 寻找数组中超过一半的数字,我们可以用抵消来实现,出现相同的数字时加一,反之则抵消减一;

因为数字超过数组的一半,所以一直相互抵消到最后,留下来的就是该数字。

int majorityElement(int* nums, int numsSize)
{
    int count=0,temp=0;
    for(int i=0;i<numsSize;i++)
    {
        if(count==0)//第一次开始或者被抵消完了,重新给temp赋值
        {
            temp=nums[i];
            count++;
        }
        else if(nums[i]==temp)
        count++;
        else
        count--;
    }
    return temp;
}

 

标签:数字,一半,超过,int,抵消,数组
From: https://www.cnblogs.com/dubai-1314/p/16802918.html

相关文章