假设数组中某一元素出现次数超过总数一半,求该数。
int getNumOverHalf(int *a,int n)
{
int i,temp,count;
temp=a[0];count=1;
for(i=1;i<n;i++)
{
if(count==0)
{
count++;
temp=a[i];
continue;
}
if(a[i]!=temp)
{
count--;
}
else
{
count++;
}
}
return temp;
}
本文介绍了一个算法,用于找出数组中出现次数超过总数一半的元素。通过循环遍历数组,利用计数机制,该算法能够高效地识别出满足条件的元素。

517

被折叠的 条评论
为什么被折叠?



