1071.Speech Patterns
来源:互联网 发布:suse linux 网关 编辑:程序博客网 时间:2024/06/11 10:14
【题意】
找出一行输入的字符串中最常使用的词,大小写不敏感
【思路】
从前往后扫描,用两个指针记下子字符串的起始位置和终止位置,并将分出来的词存在记录出现次数的map中即可
#include <iostream>#include <string>#include <map>using namespace std;bool isCharacter(char ch){return (ch>='0' && ch<='9') || (ch>='a' && ch<='z') || (ch>='A' && ch<='Z');}int main(int argc, char const *argv[]){map<string,int> strs;string rawStr;getline(cin,rawStr);string str;int left,right;left = right = 0;for(int i=0; i<rawStr.length(); i++){if(isCharacter(rawStr[i])){if(rawStr[i]>='A' && rawStr[i]<='Z'){rawStr[i] -= 'A'-'a';}right++;}else{if(left<right){str.assign(rawStr,left,right-left);strs[str]++;}left = right = i+1;}}if(left<right){str.assign(rawStr,left,right-left);strs[str]++;}int maxCnt = 0;for(map<string,int>::iterator it=strs.begin(); it!=strs.end(); it++){if((*it).second>maxCnt){maxCnt = (*it).second;str = (*it).first;}}cout << str << " " << maxCnt;system("pause");return 0;}
0 0
- 1071. Speech Patterns (25)
- 1071. Speech Patterns (25)
- 1071. Speech Patterns
- 1071. Speech Patterns (25)
- 1071. Speech Patterns
- PAT 1071. Speech Patterns
- 1071. Speech Patterns
- 1071. Speech Patterns (25)
- PAT 1071. Speech Patterns
- 1071. Speech Patterns (25)
- 1071. Speech Patterns (25)
- 1071.Speech Patterns
- 1071. Speech Patterns (25)
- 1071. Speech Patterns (25)
- 1071. Speech Patterns
- 1071. Speech Patterns (25)
- 1071. Speech Patterns (25)
- 1071. Speech Patterns (25)
- LA3887 最小生成树 枚举最小边
- django model filter 条件过滤
- Android基础系列----------- 资源适配
- Linux下的MySQL简单操作(服务启动与关闭、启动与关闭、查看版本)
- KVM Qemu libvirt
- 1071.Speech Patterns
- 1072.Gas Station
- 【Unity】关于Waypoint的寻路
- cookie 和session 的区别详解
- 堆排序(heapsort)
- 深度学习工具包(Deep Learning Toolboxs)
- Android适配器的用法
- Linux显示工作路径
- Visual Studio Warning C4996