1.简介
候选人算法是找一种优秀的找众数的算法。
2.思路:
遍历数组,如果与候选人相等,票数就++,如果不等票数就--,如果票数=0就切换候选人。
其实就是 把不相同的两个数消掉,最后剩下的那个候选人肯定是出现次数大于一半的众数。
int majorityElement(int* a,int n)
{
int majority = a[0];
int count = 1;
for (int i =1;i < n;i++)
{
if (count != 0)
{
if (majority == a[i])
count++;
else
count--;
}
else
{
majority = a[i];
count = 1;
}
}
return majority;
}
本文介绍了使用候选人算法解决找众数问题的方法,通过遍历数组,对比当前候选数与数组元素,更新票数,最终返回出现次数大于一半的众数。展示了majorityElement函数的实现过程。

5205

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



