题目

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

示例

输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]

输入: nums = [1], k = 1
输出: [1]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/g5c51o
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

方法1:优先队列

Java实现
class Solution {public int[] topKFrequent(int[] nums, int k) {int n = nums.length;Map<Integer, Integer> map = new HashMap<>();for (int num : nums) {map.put(num, map.getOrDefault(num, 0) + 1);}PriorityQueue<Integer> q = new PriorityQueue<>((a, b) -> map.get(b) - map.get(a));q.addAll(map.keySet());List<Integer> list = new ArrayList<>();while (!q.isEmpty() && k-- > 0) {list.add(q.poll());}int[] res = new int[list.size()];for (int i = 0; i < list.size(); i++) res[i] = list.get(i);return res;}
}

剑指 Offer II 060. 出现频率最高的 k 个数字相关推荐

  1. 剑指 Offer II 061. 和最小的 k 个数对

    链接:剑指 Offer II 061. 和最小的 k 个数对 题解: class Solution { public:vector<vector<int>> kSmallest ...

  2. 剑指 Offer II 006. 排序数组中两个数字之和

    由于题目中数组已经排好序,所以可以用双指针 双指针: i=0,j=nums.size( )-1 当 i<j 时循环,当目标小于target时i++,当目标大于target时,j-- 当目标小于t ...

  3. 力扣OJ 剑指 Offer II

    目录 剑指 Offer II 001. 整数除法 剑指 Offer II 002. 二进制加法 剑指 Offer II 003. 前 n 个数字二进制中 1 的个数 剑指 Offer II 004. ...

  4. Leetcode刷题笔记——剑指offer II (一)【整数、数组、字符串、链表】

    目录 整数 剑指 Offer II 001. 整数除法 剑指 Offer II 002. 二进制加法 剑指 Offer II 003. 前 n 个数字二进制中 1 的个数 剑指 Offer II 00 ...

  5. LeetCode Algorithm 剑指 Offer II 056. 二叉搜索树中两个节点之和

    剑指 Offer II 056. 二叉搜索树中两个节点之和 Ideas 这题有点类似一个组合题,首先是通过二叉树遍历得到一个序列,然后再通过LeetCode Algorithm 1. 两数之和的方法查 ...

  6. 剑指 Offer II 014. 字符串中的变位词

    剑指 Offer II 014. 字符串中的变位词 题目 示例 解答 题目来源为leetcode 题目 给定两个字符串s1和s2,写一个函数来判断s2是否包含s1的某个变位词. 换句话说,第一个字符串 ...

  7. 剑指 Offer II 108. 单词演变

    链接:剑指 Offer II 108. 单词演变 题解: class Solution { public:int ladderLength(string beginWord, string endWo ...

  8. 剑指 Offer II 044. 二叉树每层的最大值

    链接:剑指 Offer II 044. 二叉树每层的最大值 题解: /*** Definition for a binary tree node.* struct TreeNode {* int va ...

  9. 剑指 Offer II 117. 相似的字符串

    链接:剑指 Offer II 117. 相似的字符串 题解: 1.建设图 2.bfs遍历 class Solution { public:int numSimilarGroups(vector< ...

最新文章

  1. c语言用户管理系统的知识,C语言系统用户管理系统
  2. leetcode 1137 python
  3. 为什么中国人穷得只剩房子
  4. Winform 显示Gif图片
  5. System Repair Engineer (SREng) 2.6 正式发布
  6. 文献阅读——Revisiting Semi-Supervised Learning with Graph Embeddings
  7. MySQL数据分析-(12)表操作补充:字段属性
  8. python 高性能编程 AOT VS JIT
  9. 网络安全学习和CTF必不可少的一些网站
  10. javax.crypto.BadPaddingException Given final block not properly padded?
  11. 那些3年前转行做自媒体的站长,现在都怎样了?
  12. linux内核源码漫游,Linux内核源代码漫游
  13. stinger 小型机器人_格斗机器人史上攻击力大排行,排名第一的果然是TA!
  14. 陕西省建筑标准规范合集
  15. 摸鱼系列之idea摸鱼插件推荐
  16. 7-58 计算油费 (15 分)
  17. 新站如何快速提升百度索引量
  18. Layui数据表格之图片的处理
  19. Oracle 常用函数总结(持续更新)
  20. 前员工爆料百度百伯夭折内幕:烧钱3亿只会挖人复制

热门文章

  1. 知乎如何通过关键字搜索文章
  2. PentestBox中部分工具整理
  3. 快速检查(QuickCheck)(译)
  4. 中小学高级职称计算机考试试题,2012年小学教师高级职称考试备考试题及参考答案(2)...
  5. administrator无法创建新用户的解决
  6. 字字珠玑的百度员工离职总结
  7. C++ Primer Plus(学习笔记之——一会儿指南、一会儿指北)
  8. C/C++图书信息管理系统水电管理信息系统
  9. php mysql 库存变负数_解决并发情况下库存减为负数问题
  10. 概率论基础(4)五种重要的分布(二项、泊松、均匀、指数、正态分布)