试题编号: | 201312-1 |
试题名称: | 出现次数最多的数 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。 输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。 输出格式 输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。 样例输入 6 样例输出 10 |
#include <map>
#include <cmath>
#include <queue>
#include <cstdio>
#include <string>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <sstream>
#include <time.h>
#include <vector>
#include <list>
using namespace std;
//出现次数最多的数
int main()
{
int Data_In[1024], Data_Out=0;
int n,i,max_count=0;
map<int, int> num;
cin >> n;
for (i = 1; i <= n; i++)
{
cin >> Data_In[i];
num[Data_In[i]] ++;
if (num[Data_In[i]] == max_count)
{
if (Data_In[i] < Data_Out)
Data_Out = Data_In[i];
}
else if (num[Data_In[i]] > max_count)
{
max_count = num[Data_In[i]];
Data_Out = Data_In[i];
}
}
cout << Data_Out;
cin >> n;
return 0;
}