我的思路:
创建一个很大的一维数组,数组初始化为0,每个输入的数字即为数组的下标。每出现一次x,n[x]++
。输入结束后,有小到大比较数组的大小,最初最大的数就是出现次数最多的数(最小的一个)。
#include<iostream>
using namespace std;
int main()
{
int num = 0,x;
cin >> num;
int n[10240] = { 0 };
for (int i = 0; i < num; i++)
{
cin >> x;
n[x]++;
}
int max = 0;
for (int i = 0; i < 10240; i++)
{
if (n[max] < n[i])
{
max = i;
}
}
cout << max;
//system("pause");
return 0;
}