当前位置:   article > 正文

LeetCode-347. 前K个高频元素_go 语言实现前k个高频元素

go 语言实现前k个高频元素

347. 前K个高频元素

【题目】:

【代码】:桶排序

  1. 统计出数组中元素的频次,存入map中。
  2. 设置若干个桶,每个桶存储出现频率相同的数,桶的下标表示数出现的频率,即出现频次为 i 的元素存放在第 i 个桶。
  3. 把数都放到桶之后,从后向前遍历桶,最先得到的 k 个数就是出现频率最多的的 k 个数。

  • 时间复杂度:O(n),其中 nn 表示数组的长度。
  • 空间复杂度:O(n)

效果:

另外,【LeetCode题解】347_前K个高频元素(Top-K-Frequent-Elements)中详细分析了一般排序算法,最小堆,桶排序算法。

PriorityQueue解析见:Java堆结构PriorityQueue完全解析深入理解Java PriorityQueue

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/685240
推荐阅读
相关标签
  

闽ICP备14008679号