问题描述 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。 输入格式 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。
输出格式 输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。 样例输入 6 10 1 10 20 30 20
样例输出 10
num.cpp #include<iostream> #include<climits> #include<map> using namespace std; int main() { int n, num; map<int, int> numCount; int max_num = INT_MAX, max = -1; cin >> n; for (int i = 0; i < n; i++) { cin >> num; numCount[num]++; } for (map<int, int>::iterator it = numCount.begin(); it != numCount.end(); it++) { if (it -> second > max || (it -> second == max && it -> first < max_num)) { max = it -> second; max_num = it -> first; } } cout << max_num << endl; return 0; }