#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <string>
#include <cstring>
#include <vector>
#include <queue>
#include <map>
#include <set>
using namespace std;
map<string,int> mp;
bool judge(char c)//注意string的各个单位都也是char
{
if( (c>='0'&&c<='9')||(c>='a'&&c<='z')||(c>='A'&&c<='Z') )
return 1;
else
return 0;
}
char change(char c)
{
if(c>='A'&&c<='Z')
c+=32;
return c;
}
int main()
{
//freopen("in.txt","r" ,stdin);
string s;
getline(cin,s);
int i=0;
int len=s.length();
string word;
while(i<=len-1)
{
if(judge(s[i])==1)
{
s[i]=change(s[i]);
word+=s[i];//【学】string可以这样插入
}
else//无效字符
{
if(!word.empty())
{
mp[word]++;
word.clear();
}
}
i++;
}
if(!word.empty())
{
mp[word]++;
word.clear();
}
string ts;
int maxx=-1;
for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++)//【学】 关于map的遍历
{
if(it->second>maxx)
{
ts=it->first;//【学】 关于map的访问it->first
maxx=it->second;
}
else if((it->second==maxx)&&(it->first<ts) )
{
ts=it->first;
maxx=it->second;
}
//cout<<it->first<<' '<<it->second<<endl;
}
cout<<ts<<' '<<maxx;
return 0;
}
1071. Speech Patterns (25)--关于map和string的使用
最新推荐文章于 2023-07-06 22:10:07 发布