您的位置:首页 > 其它

PAT 1071【STL string应用】

2017-03-21 22:50 357 查看
1.单case很多清空没必要的

2.string+ char 最好用pushback

3.string +string就直接+

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;

const int N=2e6+10;
map<string, int> mp;

string temp,res;
int num;
string s;
int n;

bool Judge(char x)
{
if(x>='0'&&x<='9') return true;
if(x>='A'&&x<='Z') return true;
if(x>='a'&&x<='z') return true;
return false;
}

int main()
{
getline(cin,s);
n=s.length();
bool flag = true;
int ans=0;
//mp.clear();
temp = "";
for(int i=0;i<n;i++)
{
if(s[i]>='A'&&s[i]<='Z')
s[i] = s[i] + 'a' - 'A';
if(Judge(s[i]))
{
temp.push_back(s[i]);//temp = temp + s[i];
flag=true;
}
else
{
num = temp.length();
if(num)
{
mp[temp]++;
if(mp[temp]>ans)
{
ans = mp[temp];
res = temp;
}
temp = "";
flag = false;
}
}
}
if(flag)
{
mp[temp]++;
if(mp[temp]>ans)
{
ans = mp[temp];
res = temp;
}
}
cout<<res<<" "<<ans<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: