CCFCSP 201312-1出現次數最多的數

問題描述
  給定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<map>
using namespace std;

int main()
{
	int n;
	cin >> n;
	map<int, int> a;
	int in;
	for(int i=0; i<n; i++)
	{
		cin >> in;
		a[in]++;
	}
	
	int maxtimes = 0;    //出現最多的次數
	int max_num = 0;     //出現最多次數的數
	for(map<int, int>::iterator it=a.begin(); it!=a.end(); it++)
	{
		if(maxtimes < it->second)
		{
			maxtimes = it->second;
			max_num = it->first;
		}
	}
	cout << max_num;
	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章