当前位置: 首页 > 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;}
};
http://www.lryc.cn/news/360003.html

相关文章:

  • k8s ceph(静态pvc)
  • Qt QScript 之 C++/JavaScript相互调用
  • 可能会引起空指针
  • Linux input输入子系统
  • dataworks调度参数
  • JavaScript第五讲:事件,条件循环语句,错误处理
  • BrainGPT1,一个帮你b站点歌放视频的多模态多轮对话模型
  • 带DSP音效处理D类数字功放TAS5805M中文资料
  • java中BigDecimal的比较
  • 张大哥笔记:你卖什么,就反着来卖
  • Nginx(openresty) 开启gzip压缩功能 提高web网站传输速度
  • nn.Embedding使用
  • Qt6 mathgl数学函数绘图
  • Nginx配置文件中静态资源文件禁止通过目录查看
  • 力扣Hot100-有效的括号(栈stack)
  • Android下HWC以及drm_hwcomposer普法(上)
  • OpenCV学习 基础图像操作(十七):泛洪与分水岭算法
  • Docker基础命令(三)
  • Python的第三方库OS库
  • 两个数相加减高级实现
  • 小白跟做江科大32单片机之对射式红外传感器计次
  • 安装Kubernetes v3 ----以docker的方式部署
  • 新游启航 失落的方舟台服注册指南 一文教会你方舟台服注册
  • 运维开发详解
  • 英伟达(NVIDIA)H100性能及应用场景
  • 充电宝怎么选?充电宝目前什么牌子质量好耐用?盘点好用充电宝
  • 智能视频监控技术为游泳馆安全护航,助力安全管理新升级
  • Windows通过cmd运行快速启动应用
  • 271 基于matlab的可调Q因子小波变换故障诊断
  • 吴恩达深度学习个人笔记