关闭

201312-1 出现次数最多的数

110人阅读 评论(0) 收藏 举报
分类:
试题编号: 201312-1
试题名称: 出现次数最多的数
时间限制: 1.0s
内存限制: 256.0MB
问题描述:
问题描述
  给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
输入格式
  输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。
  输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。
输出格式
  输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。
样例输入
6
10 1 10 20 30 20
样例输出
10

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
	int n;
	cin>>n;
	vector<int>a(n);
	for(int i=0;i<n;i++)
		cin>>a[i];
	int x(0);
	int max=count(a.begin(),a.end(),a[0]);
	for(int i=1;i<n;i++)
	{
		int m(0);
		m=count(a.begin(),a.end(),a[i]);
		if(m>max)
		{
			max = m;
			x=i;
		}
		if(m==max)
		{
			if(a[i]<a[x])
				x=i;
		}
	}
	cout<<a[x];
       return 0;
}


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:34860次
    • 积分:1291
    • 等级:
    • 排名:千里之外
    • 原创:88篇
    • 转载:1篇
    • 译文:0篇
    • 评论:16条
    最新评论