入门oj 5499: 讲话模式
Posted cwjr
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了入门oj 5499: 讲话模式相关的知识,希望对你有一定的参考价值。
Description
每个人说话都有口头禅,现给出一个字符串,请求出其中出现次数最多的单词(不区分大小写)。
Input
输入一行,长度小于等于1048576的字符串
输入至少包含一个字母或数字
输入至少包含一个字母或数字
Output
输出一行,为出现次数最多的单词及出现的次数,用空格分开
如果结果不唯一,则输出字典序最小的那个,这个单词必须以小写的形式输出。
如果结果不唯一,则输出字典序最小的那个,这个单词必须以小写的形式输出。
Sample Input
Can a can can a can? It can !
Sample Output
can 5
HINT
1简单的一个map题
2这个题的读入比较恶心,需要转大小写,还要判空格和标点,具体方法如代码
#include<bits/stdc++.h> using namespace std; int f[1000001],ans; char s[1048579]; map<string,int> a; map<string,int>::iterator flag;//迭代器 int main(){ gets(s); int len=strlen(s); string q=""; for(int i=0;i<len;i++){ if(s[i]==‘ ‘) { a[q]++; q=""; continue; }//判空格,如果是空格那么就表示一个单词结束了,可以把这个单词打入map if(s[i]>=‘A‘&&s[i]<=‘Z‘) s[i]+=32;//大写转小写 if(s[i]>=‘a‘&&s[i]<=‘z‘) q+=s[i]//如果这个字符是一个字母,就把他放入q串 ; } for(map<string,int>::iterator i=a.begin();i!=a.end();i++) //迭代器 if(ans<(*i).second) flag=i,ans=(*flag).second; //算出最大值 cout<<(*flag).first<<" "<<(*flag).second; }
以上是关于入门oj 5499: 讲话模式的主要内容,如果未能解决你的问题,请参考以下文章
iPhone13系列预计5499起;蔚来回应31岁企业家“自动驾驶”车祸去世;小米取消MIX4防丢失模式无卡联网服务|极客头条...
极客日报:iPhone13系列预计5499起;蔚来回应31岁企业家“自动驾驶”车祸去世;小米取消MIX4防丢失模式无卡联网服务
二分图匹配入门专题1I - Hiding Gold light oj 1152二分图匹配-------------------我是终于不那么水的水题分割线------------------(代码片