进阶实验5-3.2 新浪微博热门话题 (30 分)
进阶实验5-3.2 新浪微博热门话题 (30 分)
这题首先得看懂题目,最需要注意的就是每个单词之间要有空格,也就是题目说的分词。这里我还是喜欢用map,map大法好啊,我们每次存入单词的时候把其他的字符转化成一个空格一起存入就好了,然后用map计数。PS:首尾的空格记得去掉。
#include<iostream>
#include<string>
#include<map>
#include<set>
using namespace std;
map<string,int> m;
int main()
{int n,ans=0;cin>>n;getchar();while(n--){set<string> s;int ret=0,f=0,f1=0; // ret记录#的个数,f是判断话题是否开始,f1是判断空格是否已经添加 string a,b;getline(cin,a);for(int i=0;i<a.length();++i){if(a[i]=='#'){ret++;if(ret==2){b.erase(0,b.find_first_not_of(" ")); //去掉开头的空格 b.erase(b.find_last_not_of(" ")+1); //去掉末尾的空格 if(s.count(b)==0){s.insert(b);m[b]++;ans=max(ans,m[b]); //记录最多被提到的微博条数 }b="",ret=0,f=0;}f=1;continue;}if(f){ //话题开始 if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z'||a[i]>='0'&&a[i]<='9'){if(a[i]>='A'&&a[i]<='Z') //转化成小写 a[i]=a[i]+32;b+=a[i];f1=0; }else{ //其它字符变成空格 if(f1==0) //空格是否已经添加 b+=" ";f1=1;}}}}int ret=0,f=0;map<string,int>::iterator it;for(it=m.begin();it!=m.end();it++){if(it->second==ans){ret++; if(f==0){string a=it->first;a[0]=a[0]-32;cout<<a<<endl;cout<<ans<<endl;}f=1;}}if(ret>1)cout<<"And "<<ret-1<<" more ...";
}
进阶实验5-3.2 新浪微博热门话题 (30 分)相关推荐
- 数据结构PTA习题:进阶实验5-3.2 新浪微博热门话题 (30分)
进阶实验5-3.2 新浪微博热门话题 (30分) 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到 ...
- 5-46 新浪微博热门话题 (30分)
5-46 新浪微博热门话题 (30分) 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到有多少人在 ...
- 7-46 新浪微博热门话题 (30 分)(思路+详解+set + map)pta逐个点过的 来呀兄弟们
一 :题目 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话题 ...
- 7-46 新浪微博热门话题 (30分)--map
1 #include<iostream> 2 #include <map> 3 #include <string> 4 #include <cstring&g ...
- 进阶实验4-3.5 哈夫曼编码 (30 分)
仅供参考 #include <iostream> #include <cstdio> #include <queue> #include <string> ...
- PAT结构与算法7-46 新浪微博热门话题 (50行精简 测试点分析)
7-46 新浪微博热门话题 (30 分) 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到有多少人 ...
- 数据结构PTA 进阶实验5-3.2 新浪微博热门话题
进阶实验5-3.2 新浪微博热门话题 题目 解法 题目 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可 ...
- 7-46 新浪微博热门话题(字符串)
题目链接:7-46 新浪微博热门话题 考查知识:字符串 题意描述: 给定n条微博,每条微博里有若干话题,试统计被最多条微博提到的话题. 思路简析: 首先对#号位置进行记录,然后用a.substr(开始 ...
- 7-46 新浪微博热门话题
➳ENTRY 新浪微博可以在发言中嵌入"话题",即将发言中的话题文字写在一对"#"之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话 ...
- python爬取新浪微博热门话题保存到excel等文件
第一步 在网页上登录新浪微博,获取登录cookie 先把它复制好先,进行第二步 第二步 废话不多说,直接上代码,把刚刚复制好的值,赋给co变量 # -*- coding: utf-8 -*- &quo ...
最新文章
- python语法大全-总结了Python中的22个基本语法
- 【Linux】一步一步学Linux——cd命令(20)
- [算法模版]Link-Cut-Tree
- JavaFX自定义控件– Nest Thermostat第3部分
- Linux Shell 常用命令与目录分区的学习总结
- Spring Boot基础学习笔记18:Spring Boot整合Redis缓存实现
- C++:如何在VS中配置第三方动态库 【visual Studio 2017 + Opencv 】
- Theano学习二:内存、变量、函数、自动微分、循环、scan以及分析调试等基础知识
- 微信公众号文章阅读数和点赞数采集接口
- You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true
- 服务器搭建系列之序章:总览,2022最新版本
- 海信98E7G PRO 98英寸 评测
- Hadoop大数据基础知识点总结--持续更新
- python初始化一个二维数组_二维数组初始化
- codewars题目记录
- VMware ESXi 宕机分析过程
- 仓库 “http://ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release”
- dnf 跨服 服务器 位置,《DNF》86版本跨区表一览 看你属于哪个跨区频道
- 软件测试 | 测试开发 | 音频质量检测模型中标准数据集的构建方法
- Python中如何获取用户的输入,你一定要知道,学Python必看