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

692. 前K个高频单词(map的练习)

目录

1、题目分析

2.解题思路

3.代码实现

4.总结


1、题目分析

2.解题思路

首先它给出我们一个string,让我们提取出它们中出现次数最多的。利用map将word一个一个存入其中,没有就插入,有了就+1,这样我们就得到了key_value,key为单词,value为单词出现次数,但是现在我们的排序不是按照value进行排序的,我们让再次利用multimap,让它进行的排序查找,并且降序插入,让它从大到小(方便我们直接插入k个值),之后建立一个vector<string>进行插入k次即可。

3.代码实现

class Solution {
public:vector<string> topKFrequent(vector<string>& words, int k) {map<string, int>mup;//将words存入mup中for (auto e : words){auto it = mup.find(e);if (it == mup.end()){mup.insert({e,1});}else{mup[e]++;}}multimap<int, string, greater<int>>mup1;for (auto e : mup){mup1.insert({ e.second, e.first });}int count = 0;vector<string>nums;auto it2 = mup1.begin();for (int i = 0; i <k ; i++){nums.push_back((*it2).second);it2++;}return nums;}
};

4.总结

这道题锻炼我们对于map的接口使用,熟练的使用map的接口使我们解题的关键。

http://www.xdnf.cn/news/1966.html

相关文章:

  • 【初识Trae】字节跳动推出的下一代AI原生IDE,重新定义智能编程
  • 11.ArkUI Tabs的介绍和使用
  • 【多目标进化算法】 MOEA/D算法(知识点)
  • RAG5个常见错误
  • 硬件虚拟化(如KVM、VMware)
  • Redis相关
  • PHP:点击/拖动-上传图片文件目录,并存入数据库
  • 大肠杆菌诱导蛋白时OD600=0.6-0.8添加IPTG的思考-实验操作系列-009
  • 0. Selenium工具的安装
  • 【Linux网络】TCP服务中IOService应用与实现
  • 一个非常快速的 Latex 入门教程【Part 2】
  • 2025产品经理AI效率指南:3大案例实战流程图、原型图与PRD文档
  • AI 场景落地:API 接口服务 VS 本地部署,哪种更适合?
  • 不在同一个局域网的远程桌面连接怎么设置?本地内网计算机让其他网络远程访问6种常用方法
  • 计算机界的50位大牛(23)—— 詹姆斯·尼古拉·格雷:数据库事务的缔造者
  • 客户联络中心能力与客户匹配方式
  • [论文阅读]ReAct: Synergizing Reasoning and Acting in Language Models
  • 【25软考网工】第三章(4)生成树协议、广播风暴和MAC地址表震荡
  • springboot2.x升级到3.x 惨痛经验总结
  • 每日算法-250425
  • kafka和Spark-Streaming2
  • [特殊字符]Google放大招!免费高配云主机开仓放粮,手慢无!
  • 详解 Servlet 处理表单数据
  • Linux进程学习【进程状态】
  • 【Linux】进程优先级和进程切换
  • Qt 调试信息重定向到本地文件
  • 深度学习--循环神经网络RNN
  • 自动化必备技能:JSONPath介绍
  • 【粉丝福利社】DeepSeek企业级AI应用实践
  • JPEG 解码 第28次CCF-CSP计算机软件能力认证