版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42449444/article/details/94040119
通过键盘输入一串小写字母(a~z)组成的字符串。
请编写一个字符串归一化程序,统计字符串中相同字符出现的次数,并按字典序输出字符及其出现次数。
例如:字符串"babcc"归一化后为"a1b2c2"。
每个测试用例每行为一个字符串,以'\n'结尾,例如cccddecca
输出压缩后的字符串ac5d2e。
dabcab
a2b2c1d1
快手19年校招笔试题,无脑用map来记录每个字母出现的次数后输出即可。
#include <bits/stdc++.h>
using namespace std;
int main()
{
string str;
getline(cin,str);
map<char,int> m; //map的key是字母,value是该字母出现的次数
for(auto it : str)
{
m[it]++;
}
for(auto it = m.begin(); it != m.end(); it++) //这里的auto其实是迭代器 map::iterator
{
cout << it->first << it->second;
}
return 0;
}