LeetCode 347. Top K Frequent Elements - 频率最高的k个数
2017-11-02 18:42
585 查看
Given a non-empty array of integers, return the k most frequent elements.
For example,
Given [1,1,1,2,2,3] and k = 2, return [1,2].
Note:
You may assume k is always valid, 1 ≤ k ≤ number of unique elements.
Your algorithm’s time complexity must be better than O(n log n), where n is the array’s size.
本意应该是取考堆或优先队列的知识,但是C++或Python都对优先队列做了很好的实现,因此可以直接使用。
counter 的 most_common()就是基于heapq实现的。
For example,
Given [1,1,1,2,2,3] and k = 2, return [1,2].
Note:
You may assume k is always valid, 1 ≤ k ≤ number of unique elements.
Your algorithm’s time complexity must be better than O(n log n), where n is the array’s size.
本意应该是取考堆或优先队列的知识,但是C++或Python都对优先队列做了很好的实现,因此可以直接使用。
class Solution(object): def topKFrequent(self, nums, k): """ :type nums: List[int] :type k: int :rtype: List[int] """ from collections import Counter most_k = Counter(nums).most_common(k) return [x for x, _ in most_k]
counter 的 most_common()就是基于heapq实现的。
相关文章推荐
- leetcode_347. Top K Frequent Elements 找出现频率最高的前k个元素
- 【LeetCode】347. Top K Frequent Elements 解题报告
- leetcode_middle_10_347. Top K Frequent Elements
- LeetCode 347. Top K Frequent Elements
- LeetCode 347. Top K Frequent Elements
- [leetcode]347. Top K Frequent Elements
- LeetCode | 347. Top K Frequent Elements 优先队列技巧题
- leetcode 347. Top K Frequent Elements
- leetcode 347. Top K Frequent Elements
- [leetcode] 347. Top K Frequent Elements
- [LeetCode]347. Top K Frequent Elements(map排序)
- LeetCode 347. Top K Frequent Elements
- [leetcode]347. Top K Frequent Elements -- JavaScript 代码
- [leetcode]347. Top K Frequent Elements
- LeetCode No347. Top K Frequent Elements
- LeetCode Everyday: 347. Top K Frequent Elements
- leetcode 347. Top K Frequent Elements
- leetcode 347. Top K Frequent Elements
- 【LeetCode】347. Top K Frequent Elements——基于Java的解决方案
- [leetcode] 347. Top K Frequent Elements 解题报告