347. Top K Frequent Elements 前 K 个高频元素
生活随笔
收集整理的这篇文章主要介绍了
347. Top K Frequent Elements 前 K 个高频元素
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
给定一个非空的整数数组,返回其中出现频率前 k 高的元素。
示例 1:
输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2]示例 2:
输入: nums = [1], k = 1 输出: [1]
提示:
- 你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。
- 你的算法的时间复杂度必须优于 O(n log n) , n 是数组的大小。
- 题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的。
- 你可以按任意顺序返回答案。
哈希表
统计nums中每个数字出现的次数,然后按照次数进行排序,出现次数最多的前k个即为答案。
Code
def topKFrequent(self, nums: List[int], k: int) -> List[int]:count, ans = {}, []for num in nums:count[num] = count[num] + 1 if count.get(num, None) else 1temp = sorted(count.items(), key=lambda x: x[1], reverse=True)return [temp[i][0] for i in range(k)] 与50位技术专家面对面20年技术见证,附赠技术全景图总结
以上是生活随笔为你收集整理的347. Top K Frequent Elements 前 K 个高频元素的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 关于我自己的一些事
- 下一篇: 39. Combination Sum