首页 > 代码库 > 出现次数最多的数
出现次数最多的数
http://blog.csdn.net/pipisorry/article/details/39434403
问题描述
给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
输入格式
输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。
输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。
输出格式
输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。
样例输入
6
10 1 10 20 30 20
样例输出
10
code:
/****************************************************************************/ /* CCF软件能力认证考试模拟题 —— 出现次数最多的数 皮皮 2014-8-30 */ /****************************************************************************/ #include <assert.h> #include <iostream> #include <map> using namespace std; int main(){ //assert( freopen("CCF\\mostOftenNum.in", "r", stdin) ); int n, num; typedef map<int, int> intIntMap; intIntMap numCount; cin>>n; for(int i = 0; i < n; i++){ cin>>num; numCount[num]++; } int max_num = INT_MIN, max = -1; for(intIntMap::iterator pos = numCount.begin(); pos != numCount.end(); pos++){ //cout<<pos->first << " : " << pos->second << endl; if( pos->second > max || (pos->second == max && pos->first < max_num)){ max = pos->second; max_num = pos->first; } } cout<< max_num << endl; //fclose(stdin); return 0; }
from:http://blog.csdn.net/pipisorry/article/details/39434403
出现次数最多的数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。