给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一个。请你编程实现吧~
【输出格式】
输出出现次数最多的数和出现的次数,中间用一个空格隔开,如果有多个重复出现的数,输出值最大的那个。
#include <iostream>
#include <map>
using namespace std;
map<int,int> mp;
int main()
{
int n,ans1,ans2 = 0,x;
cin >> n;
for(int i = 1;i <= n;i++)
{
cin >> x;
mp[x]++;
}
for(auto pos = mp.begin();pos != mp.end();pos++)
{
if((pos -> second) >= ans2)
{
ans1 = pos -> first;
ans2 = pos -> second;
}
}
cout << ans1 << " " << ans2 << endl;
return 0;
}