C语言求众数问题

我用数组老是超时 哪位大神可以给我写个代码 学习下

算法很多。大致思路如下:
定义数据范围:如0-100,
定义数组1:int a[101]//标保证任何数据都可以容纳,并且初始化为0。
定义数组2:int data[n] //待处理数组,自己初始化。
代码如下:
#include<stdio.h>
void main()
{
int a[101]={0};
int nMax = 0;
int data[50] = {1,3,4,2,13,4,2,1.....};//这个你自己初始化
for(int i=0;i<50;i++)
a[data[i]]++;
for(int n=0;n<101;n++)
{ if(nMax<a[n])

nMax = a[n];
}
for(int k=0;k<101;k++)
{
if(nMax == a[k])
printf("%4d,%4d\n",nMax,k);
}
}
温馨提示:答案为网友推荐,仅供参考