347. Top K Frequent Elements

Given a non-empty array of integers, return thekmost frequent elements.
For example,
Given[1,1,1,2,2,3]and k = 2, return[1,2].
Note:
You may assume is always valid, 1 ≤k≤ number of unique elements.
our algorithm's time complexity must be better than O(nlogn), where is the array's size.

思路: hashMap 一下, 然后建立一个list<Integer> 的数组用来存数字, 数组的索引就是数字重复出现的字数。这样出现数字次数最多的就存在数组的后端。 从后读数组的值取出返回。

还有一个O(nLogn )的方法, 重点在于set 没法排序于是把set转成list 再排序:
List<Map.Entry<Integer, Integer>> entry = new LinkedList<>(map.entrySet());

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容