当前位置: 首页 > ds >正文

牛客网题解 | 单词识别

单词识别

  • 一、题目链接
  • 二、题目
  • 三、代码

一、题目链接

单词识别

二、题目

在这里插入图片描述

三、代码

#include <iostream>
using namespace std;
#include <string>
#include <map>
#include <set>
typedef pair<string, int> Word;
class Compare 
{public:bool operator()(const Word& left, const Word& right) const {// 次数从大到小排序// 如果次数相同,再按照单词字典序排序return (left.second > right.second) ||(left.second == right.second && left.first < right.first);}
};
int main() 
{string s;while (getline(cin, s)) {map<string, int> m;string temp;// 分割单词,采用map统计每个单词出现的次数for (size_t i = 0; i < s.size(); ++i) {if (s[i] == ' ' || s[i] == ',' || s[i] == '.') {// 一个单词解析结束if (temp != "")m[temp]++;temp = "";} else {// 注意:题目已说明不区分大小写,那么A和a算是一个单词,故需要将大小写统一temp += tolower(s[i]);}}// 将map中的<单词,次数>放到set中,并按照次数升序,次数相同按照字典序规则排序set<Word, Compare> s(m.begin(), m.end());// 将本次统计到的结果按照要求输出for (auto& e : s)cout << e.first << ":" << e.second << endl;cout << endl;}return 0;
}
http://www.xdnf.cn/news/16091.html

相关文章:

  • 关于Ajax的学习笔记
  • 二叉树实现堆,咕咕咕
  • 结构型模式-架构解耦与扩展实践
  • Linux的目录
  • stream event
  • 软文发布平台推荐指南,软文发稿平台该怎么选?
  • 网络协议(三)网络层 IPv4、CIDR(使用子网掩码进行网络划分)、NAT在私网划分中的应用
  • Axios
  • Qt中的网络通信
  • javaSE(从0开始)day13
  • 通过TPLink路由器进行用户行为审计实战
  • 【图像处理基石】什么是相机的内外参数?
  • springcloud -- 微服务02
  • 关于 URL 中 “+“ 号变成空格的问题
  • 数据结构:找出字符串中重复的字符(Finding Duplicates in a String)——使用哈希表
  • HTTP性能优化实战技术详解(2025)
  • Linux进程核心机制:状态、优先级与上下文切换详解
  • Redis进阶--缓存
  • AQS 抽象队列同步器 资源竞争-排队等待
  • C++实战案例:从static成员到线程安全的单例模式
  • Django视图与路由系统
  • Elasticsearch、Solr 与 OpenSearch 搜索引擎方案对比分析及选型建议
  • 漏洞扫描 + 渗透测试:双轮驱动筑牢网络安全防线
  • 计算机发展史:个人计算机时代的多元融合与变革
  • cartographer内置评估工具使用流程:评估前端优化的误差
  • XSS学习总结
  • 【LeetCode数据结构】栈的应用——有效的括号问题详解
  • iOS 加固工具有哪些?快速发布团队的实战方案
  • Django Ninja
  • 【web 自动化】-6- 数据驱动DDT