PTA1071 - Speech Patterns - map计算不同单词个数
题意
输出给定字符串出现最多的字符串(小写输出)和出现次数。
所求字符串要求:字符中可以含有A-Z、0-9。
比如说题目给出的Can1,我们可以转换成can1,can1就算一个字符串整体,而不是单独的取出can1里面的can来加一。
思路
先把大写字母全部转换成小写,然后再用map存储单词个数即可,简单用法。
注意
有个特殊的数据要判断,不写的话牛客可以AC,但是PTA最后一组数据会报错。
特例:给出的字符串最后一个字符如果不是'0'-'9'、'a'-'z'的话,单独算一个字符串判断。
for循环的时候注意判断空字符串(空格)出现的情况
也可以用sstreamstring来处理一下,都可以的
AC代码
#include<iostream>
#include<string.h>
#include<cmath>
#include<map>
using namespace std;
#define inf 0x3f3f3f3f
typedef long long ll;
map<string,int> mp;
int main()
{
string s;
getline(cin,s);
int l=s.length();
for(int i=0;i<l;i++)
{
if(s[i]>='A'&&s[i]<='Z')
s[i]+=32;
}
string ss;
for(int i=0;i<l;i++)
{
if((s[i]>='0'&&s[i]<='9')||(s[i]>='a'&&s[i]<='z'))
ss+=s[i];
else if(ss!="")
mp[ss]++,ss="";
}
ss=s[l-1]; // 最后一个字符特判
if(!(s[l-1]>='0'&&s[l-1]<='9')||!(s[l-1]>='a'&&s[l-1]<='z'))
mp[ss]++;
string ans;
int ma=0;
for(auto&i:mp)
{
if(i.second>ma)
ma=i.second,ans=i.first;
}
cout<<ans<<" "<<ma<<endl;
return 0;
}
PTA1071 - Speech Patterns - map计算不同单词个数的更多相关文章
- PAT 甲级 1071 Speech Patterns (25 分)(map)
1071 Speech Patterns (25 分) People often have a preference among synonyms of the same word. For ex ...
- 【ACM小白成长撸】--计算单词个数
我判断单词个数的方法,根据空格‘ ’的个数 分情况 当没有单词的时候 判断第一个符号,即a[0] == ‘\0’时,赋值给存储个数的数组 当遇到空格时,只有前面一个字符不是空格字符,后面一个字符不是空 ...
- 1071 Speech Patterns——PAT甲级真题
1071 Speech Patterns People often have a preference among synonyms of the same word. For example, so ...
- Pat1071: Speech Patterns
1071. Speech Patterns (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 HOU, Qiming Peo ...
- 【算法笔记】A1071 Speech Patterns
1071 Speech Patterns (25 分) People often have a preference among synonyms of the same word. For ex ...
- NOIP200107统计单词个数
NOIP200107统计单词个数 难度级别: A: 编程语言:不限:运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 给出一个长度不超过200的由 ...
- NOIP2001 统计单词个数
题三 统计单词个数(30分) 问题描述 给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个).要求将此字母串分成k份(1<k&l ...
- kwic--Java统计单词个数并按照顺序输出
2016-07-02(随笔写作时间) 写了好久的程序了为了避免以后用到.......... 是一个统计单词个数,并按照个数从大到小输出的.输入文件名OK 了 单词是按照首字母排序的,,,里面用到映射等 ...
- PAT 1071 Speech Patterns[一般]
1071 Speech Patterns (25 分) People often have a preference among synonyms of the same word. For exam ...
随机推荐
- Codeforces Round #529 (Div. 3) E. Almost Regular Bracket Sequence (思维,模拟栈)
题意:给你一串括号,每次仅可以修改一个位置,问有多少位置仅修改一次后所有括号合法. 题解:我们用栈来将这串括号进行匹配,每成功匹配一对就将它们消去,因为题目要求仅修改一处使得所有括号合法,所以栈中最后 ...
- 字典树 && 例题 Xor Sum HDU - 4825 (板子)
一.字典树描述:Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的优 ...
- Codeforces Round #515 (Div. 3) C. Books Queries (模拟)
题意:有一个一维的书架,\(L\)表示在最左端放一本书,\(R\)表示在最右端放一本书,\(?\)表示从左数或从右数,最少数多少次才能得到要找的书. 题解:我们开一个稍微大一点的数组,从它的中间开始模 ...
- 网站日志统计以及SOA架构
网站日志统计相关术语 PV(Page View):页面浏览量或点击量,衡量用户访问的网页数量 UV(Unique Visitor):独立设备的访问次数,根据客户端发送的 Cookie 区分 IP(In ...
- Linux-关于Bash
目录 关于Bash Bash是什么? Bash的一些特性 关于Bash Bash是什么? Bash是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令. Bash还能从文件中读取命令,这 ...
- VScode 配置c++环境
参考 https://code.visualstudio.com/docs/cpp/config-mingw https://zhuanlan.zhihu.com/p/77645306 主要 http ...
- 关于st表的推导
#include <bits/stdc++.h> using namespace std; const int maxn=1e6+7; int st[maxn][32]; int a[ma ...
- sql 手注 语法
mysql中的information_schema 结构用来存储数据库系统信息 information_schema 结构中这几个表存储的信息,在注射中可以用到的几个表. | SCHEMATA ―― ...
- Linux command find All In One
Linux command find All In One $ find -h # find: illegal option -- h # usage: # find [-H | -L | -P] [ ...
- 神奇的数学学习网站 All In One
神奇的数学学习网站 All In One magical math websites {{uploading-image-923797.png(uploading...)}} Math is Fun ...