您的位置:首页 > 其它

浙大PAT甲级 1071 字符串计数

2016-08-27 11:58 417 查看
先将输入字符串中的大写字母改为小写,然后遍历字符串将分割出来的单词插入到map<string,int>中,最后遍历map输入单词和最大次数。

AC代码:

#include<iostream>
#include<map>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cstring>
#include<list>
#include<set>
#include<stack>
#include<cmath>
#include<vector>
#define inf -100000000
using namespace std;
map<string,int> mm;
int main()
{
string s;
getline(cin,s);
for(int i=0;i<s.size();i++)
{
if(s[i]>='A'&&s[i]<='Z')
{
s[i]=s[i]-'A'+'a';
}
}
string tmp="";
for(int i=0;i<s.size();i++)
{
if((s[i]>='a'&&s[i]<='z')||(s[i]>='0'&&s[i]<='9'))
{
tmp+=s[i];
}
else
{
if(tmp=="") continue;
if(mm.find(tmp)!=mm.end())
mm[tmp]++;
else
mm[tmp]=1;
tmp="";
}
}
if(tmp!="")
{
if(mm.find(tmp)!=mm.end())
mm[tmp]++;
else
mm[tmp]=1;
}
map<string,int>::iterator it;
int maxx=-5;
string ans;
for(it=mm.begin();it!=mm.end();it++)
{
if(it->second>maxx)
{
maxx=it->second;
ans=it->first;
}
}
cout<<ans<<" "<<maxx;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: