//寻找数组中的多数元素(元素个数大于数组的一半)
#include <iostream>
using namespace std;
void majority(int *A,int n)
{
int current = A[0];
int count = 1;
for (int i = 0;i < n;i++)
{
if (count == 0)
{
current = A[i];
++count;
}
else if (A[i] == current)
{
++count;
}
else
{
--count;
}
}
if (count <= 0)
{
cout <<"no majority number" <<endl;
}
else if(count > 1)
{
cout<<"the majority number is" <<current <<endl;
}
else
{
int j = 0;
for (int i = 0;i < n;i++)
{
if (A[i] == current)
{
j++;
}
}
if (j > n/2)
cout<<"the majority number is" <<current <<endl;
else
cout <<"no majority number" <<endl;
}
}寻找多数元素(Majority)
最新推荐文章于 2023-10-24 23:34:49 发布
本文详细介绍了如何使用投票算法来寻找数组中出现次数超过一半的元素,并提供了C++实现代码。
&spm=1001.2101.3001.5002&articleId=39008665&d=1&t=3&u=3c5ce1e961cd4bc59a9b6c55c77437d7)
4124

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



