一:题目

二:上码

class Solution {public:vector<int> topKFrequent(vector<int>& nums, int k) {unordered_map<int,int> m; //我们选用unordered_map 是因为其底层实现是哈希表,那么其//增删效率和查询效率较高unordered_map<int,int>:: iterator mt; multimap<int,int>mm;//这个容器中的key值不去重,其他的用法跟map一致multimap<int,int>:: reverse_iterator mmt;vector<int> ans;for(int i = 0;  i < nums.size(); i++) {m[nums[i]]++;}for(mt = m.begin(); mt != m.end(); mt++) {int a = mt->second;int b = mt->first;mm.insert(make_pair(a,b));//将每个key值和其个数放入一个//不去重的 新的容器中(并将个数)}                                                       //作为新的key值for(mmt = mm.rbegin(); mmt != mm.rend(); mmt++) {if(k != 0){ans.push_back(mmt->second);k--;}}return ans;}
};

三:关于multimap的使用

1:初始化

   multimap<string, int> mapStudent;//创建map

2:插入数据

mapStudent.insert(pair<string, int>("student_one", 22));
mapStudent.insert(pair<string, int>("student_two", 25));
mapStudent.insert(pair<string, int>("student_three", 21));或者使用make_pair
map<string, int> mapStudent;
mapStudent.insert(make_pair("student_one", 22));
mapStudent.insert(make_pair("student_two", 25));
mapStudent.insert(make_pair("student_three", 21));

3:遍历容器

(1):正向的遍历

//使用前向迭代器遍历map
map<string, int>::iterator iter;
for (iter = mapStudent.begin(); iter != mapStudent.end(); iter++)cout << iter->first << " " << iter->second << endl;

(2):逆向的遍历

map<string, int>::reverse_iterator iter;
for (iter = mapStudent.rbegin(); iter != mapStudent.rend(); iter++)cout << iter->first << " " << iter->second << endl; //反向遍历

(3):针对正向遍历 可以不用迭代器 可以用 auto 关键字

for (auto it = mapStudent.begin(); it != mapStudent.end(); it++)cout << it->first << " " << it->second << endl; //遍历

如有疑问 请留言!!! 一个人走的很快 但团结协作走的更远

leetcode347. 前 K 个高频元素相关推荐

  1. (补)算法训练Day13 | LeetCode150. 逆波兰表达式求值(栈应用);LeetCode239. 滑动窗口最大值(单调队列);LeetCode347. 前K个高频元素(小顶堆,优先级队列)

    目录 LeetCode150. 逆波兰表达式求值 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 LeetCode239. 滑动窗口最大值 1. 思路 2. 代码实现 3. 复杂度分析 4. ...

  2. leetcode347. 前 K 个高频元素(排序)

    给定一个非空的整数数组,返回其中出现频率前 k 高的元素. 示例 1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例 2: 输入: nums = [1], ...

  3. Leetcode--347. 前k个高频元素

    给定一个非空的整数数组,返回其中出现频率前 k 高的元素. 示例 1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例 2: 输入: nums = [1], ...

  4. Leetcode题347、前K个高频元素(Python题解)Amazon面试题

    问题: 题目来源:力扣(LeetCode) leetcode347.前K个高频元素 难度:中等 分析: 本题解提供四种方法,分别是python的Counter技巧.堆.桶排序.快排. 对于python ...

  5. 力扣347:前k个高频元素---leetcode347:Top K Frequent Elements

    leetcode347题目链接:https://leetcode.cn/problems/top-k-frequent-elements 目录 一.题目描述 二.思路 1.什么是优先级队列呢? 2.什 ...

  6. 前K个高频元素(top k)(TX)

    思路 这道题目主要涉及到如下三块内容: 1.要统计元素出现频率 2.对频率排序 3.找出前K个高频元素 首先统计元素出现的频率,这一类的问题可以使用map来进行统计. 然后是对频率进行排序,这里我们可 ...

  7. 统计list里面相同元素个数_LeetCode 第 347 号问题:前 K 个高频元素

    本文首发于公众号「五分钟学算法」,是图解 LeetCode 系列文章之一. 个人网站:https://www.cxyxiaowu.com 今天分享的题目来源于 LeetCode 上第 347 号问题: ...

  8. 215.数组中的第K个最大元素/347. 前 K 个高频元素

    2020-05-25 1.题目描述 数组中的第K个最大元素 2.题解 1.使用冒泡排序 2.使用快速排序 3.优先队列(内部是用堆来实现的) 3.代码 class Solution { public: ...

  9. 【LeetCode】【HOT】347. 前 K 个高频元素(哈希表+优先队列)

    [LeetCode][HOT]347. 前 K 个高频元素 文章目录 [LeetCode][HOT]347. 前 K 个高频元素 package hot;import java.util.Arrays ...

最新文章

  1. java acr122 读取数据_使用ACR122U 从NTAG203Chip 读取数据
  2. C++用法的学习心得
  3. (原创总结) 几种通信编码方式
  4. BCD码与十进制的相互转换
  5. WIN10 vagrant和virtualbox虚拟机和一键搭建lnmp环境配置thinkphp虚拟主机
  6. C#经典系列-键值对
  7. 每秒处理10万订单的支付架构
  8. [Windows Phone] 如何在 Windows Phone 应用程式制作市集搜寻
  9. ArcGIS——vs2015安装arcgis engine不兼容
  10. 软件包管理 之 RPM 基础 《RPM 的介绍和应用》
  11. 如何生成二维码及注意事项
  12. RIFF和WAVE音频文件格式
  13. 【Linux】进程通信、同步、IO复用代码
  14. php ccbsign.rsasig,Maven整合SSM和建行龙支付
  15. 操作员或系统管理员拒绝了请求(0x800710E0) win10系统任务计划程序执行失败
  16. dataset中shuffle()、repeat()、batch()用法
  17. veracrypt取消加密卷_VeraCrypt 加密个人隐私(便携式 )
  18. 华为HMS全球应用创新大赛启动 百万美元奖金激励开发者
  19. 别人的面经(算法方向)
  20. 开源mock server系统

热门文章

  1. onlyoffice更新中文字体总结
  2. 发布composer包到 Packagist,并设置自动同步(从github到Packagist)
  3. 【QGIS入门实战精品教程】5.1:QGIS地理坐标转火星坐标系(GCJ02)案例教程
  4. Android之android8.1打开热点提示UID 10140 does not have Location permission和Location mode is enabled.
  5. 剑指offer之中序打印二叉树(非递归实现)
  6. Android之layout属性介绍
  7. php中的匿名函数简单使用
  8. python process 函数_Python Process创建进程的2种方法详解
  9. 哪个男孩不想拥有这种牌面?
  10. 亲一下就搞定的事,绝不花钱解决!