7-3 整数列の出現回数が最も多い数を探す
この質問では、最も頻繁に発生する整数と、整数シーケンス内の出現回数をカウントする必要があります。
入力形式:
1 行に与えられた数列の整数 N (0<N≤1000) と N 個の整数を入力します。数字はスペースで区切ります。
出力形式:
出現回数が最も多い整数と出現回数を1行に出力し、数値はスペース区切りで出力します。タイトルは、そのような番号が一意であることを保証します。
問題解決のアイデア
STLのマップを介して数字の出現回数を数えます
#include<iostream>
#include<algorithm>
#include<string>
#include<map>
using namespace std;
map<int, int> ma;
int main()
{
int n;
cin >> n;
int num[1000],a,time=0;
for (int i = 0; i < n; i++)
{
cin >> num[i];
ma[num[i]] = 0;
}
a = 0;
for (int i = 0; i < n; i++)
{
ma[num[i]] += 1;
if (ma[num[i]] > time)
{
time = ma[num[i]];
a = num[i];
}
}
cout << a << " " << time << endl;
return 0;
}