入门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; }
you are both faker
分类:
字符串hash,map
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 使用 Dify + LLM 构建精确任务处理应用