欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

347. Top K Frequent Elements 前 K 个高频元素

发布时间:2024/5/17 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 347. Top K Frequent Elements 前 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 个高频元素的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。