前k个高频元素-LeetCode
前k个高频元素
🎯 问题描述(来源于LeetCode)
描述:
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案
说明:
1 <= nums.length <= 105-104 <= nums[i] <= 104k的取值范围是[1, 数组中不相同的元素的个数]- 题目数据保证答案唯一,换句话说,数组中前
k个高频元素的集合是唯一的
示例:
- 示例 1:
1 | 输入:nums = [1,1,1,2,2,3], k = 2 |
- 示例 2:
1 | 输入:nums = [1,2,1,2,1,2,3,1,3,2], k = 2 |
💻 解题思路
思路1:优先队列(通过频率定义优先级)
思路1:代码实现
1 | class Solution: |
思路1:📊 性能分析
提交结果
- 运行时间:7ms击败40.45%
- 内存消耗:22.63MB击败33.99%
复杂度验证
- 时间复杂度:
- 空间复杂度:
思考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 笺札!











