输出样例:
d 11
g 2
#include<bits/stdc++.h>
#include<unordered_map>
using namespace std;
int main()
{
map<int, int> s; //下面的效果同
//unordered_map<int, int> s;
int n;
string res;
cin >> n;
while (n--)
{
string str;
cin >> str;
res = str[0];//题目说的是 如果次数相同则输出第一个
for (int i = 0;i < str.size();i++)
s[str[i]]++;
/*for (int i = 0;i < str.size();i++)
cout << s[str[i]] << endl;*/
int max1 = 1;
for (int i = 0;i < str.size();i++)
if (max1 < s[str[i]])
{
max1 = s[str[i]];
res = str[i];
}
cout <<res<<" "<<max1 << endl;
for (int i = 0;i < str.size();i++) s[str[i]] = 0;
}
system("pause");
}
unorderer_map 头文件 #include<unordered_map>
unordered_map:其实现使用的是哈希表
unordered_map 是否有序:无序
unordered_map 内部时哈希表,故当加入元素后,不会排序。
【而 map 内部实现了红黑树,故map存入元素时会自动排序,且默认升序】