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

Leecode---347:输出前k个高频元素(使用unordered_map)

题目
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。

思路
三步:
1、用map来记录每个元素出现的次数
2、按map中的值大小排序,先让其有序,再逆序
3、输入前k个高频元素

class Solution {
public:vector<int> topKFrequent(vector<int>& nums, int k) {// 统计元素出现的频率:unordered_map<key,value>unordered_map<int,int> mp;for(int i=0; i<nums.size();i++){// 通过key值为nums[i],给value值+1,value表示次数mp[nums[i]]++;}// 按值排序// pair作用是将两个数据组合成一个数据vector<pair<int,int>> vec;for(unordered_map<int, int>::iterator it = mp.begin(); it != mp.end(); it++){// 当有必要对一个接受pair参数的函数传递两个值时,使用make_pairvec.push_back(make_pair(it->second, it->first));}sort(vec.begin(),vec.end());        // 升序排序reverse(vec.begin(),vec.end());     // reverse后,降序// 输出前 K 个高频vector<int> res;for(vector<pair<int, int>>::iterator it = vec.begin(); it != vec.begin()+k; it++){res.push_back(it->second);}return res;}
};

相关文章:

  • [自动驾驶技术]-6 Tesla自动驾驶方案之硬件(AI Day 2021)
  • 计算机组成原理 第四章 存储器 Part 4 高速缓存存储器
  • 红队内网攻防渗透:内网渗透之windows内网权限提升技术:工具篇
  • React-生成随机数和日期格式化
  • nodemcu32s 和 mini D1 组局域网并用 webSocket 通信
  • 代码随想录算法训练营day24|回溯理论基础、77.组合
  • C/S模型测试
  • 轻松上手Jupyter Notebook:数据分析与可视化的终极指南
  • Django——Admin站点(Python)
  • Linux:confluence8.5.9的部署(下载+安装+破ji)离线部署全流程
  • 网卡配置基础知识
  • 【面试】介绍一下HotSpot虚拟机
  • Jenkins常用插件与应用详解
  • Python中Web开发-Django框架
  • uni-app实现页面通信EventChannel
  • 【Leetcode】101. 对称二叉树
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • AHK 中 = 和 == 等比较运算符的用法
  • CSS 提示工具(Tooltip)
  • Git的一些常用操作
  • Java|序列化异常StreamCorruptedException的解决方法
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • OSS Web直传 (文件图片)
  • PaddlePaddle-GitHub的正确打开姿势
  • scrapy学习之路4(itemloder的使用)
  • 测试如何在敏捷团队中工作?
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 推荐一个React的管理后台框架
  • 微信小程序:实现悬浮返回和分享按钮
  • 物联网链路协议
  • 源码安装memcached和php memcache扩展
  • 阿里云服务器购买完整流程
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (1)bark-ml
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (WSI分类)WSI分类文献小综述 2024
  • (笔记自用)LeetCode:快乐数
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (转)人的集合论——移山之道
  • (转载)(官方)UE4--图像编程----着色器开发
  • .apk 成为历史!
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NetCore 如何动态路由
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • .net连接oracle数据库
  • .net通过类组装数据转换为json并且传递给对方接口
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [1204 寻找子串位置] 解题报告
  • [20150629]简单的加密连接.txt
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [Android]一个简单使用Handler做Timer的例子