leetcode Top K Frequent Elements
来源:互联网 发布:java 引用js文件 编辑:程序博客网 时间:2024/05/22 14:53
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.
python代码最后用到zip(*a)
假设a1=[1,2,3]
a2=[4,5,6]
c=zip(a1,a2) =[(1,4),(2,5),(3,6)]
zip(*c) 就是解包为a1,a2
class Solution(object): def topKFrequent(self, nums, k): """ :type nums: List[int] :type k: int :rtype: List[int] """ frequencymap={}; for i in nums: if frequencymap.has_key(i): frequencymap[i] = frequencymap[i] + 1 else: frequencymap[i] = 0 frequencymap[i] = frequencymap[i] + 1 Sortedmap=sorted(frequencymap.iteritems(),key=lambda d:d[1],reverse=True) ##l=[] ##for i in Sortedmap[:k]: ## l.append(i[0]) return zip(*Sortedmap[:k])[0]
vector<int> topKFrequent(vector<int>& nums, int k) { unordered_map<int, int> m; for (int num : nums) ++m[num]; vector<vector<int>> buckets(nums.size() + 1); for (auto p : m) buckets[p.second].push_back(p.first);//buckets是一个数组,下标索引是出现的次数,对应的值是出现的这个数 vector<int> ans; for (int i = buckets.size() - 1; i >= 0 && ans.size() < k; --i) { for (int num : buckets[i]) { ans.push_back(num); if (ans.size() == k) break; } } return ans;}
0 0
- LeetCode|Top K Frequent Elements
- 【Leetcode】Top K Frequent Elements
- LeetCode:Top K Frequent Elements
- [LeetCode] Top K Frequent Elements
- LeetCode:Top K Frequent Elements
- 【leetcode】Top K Frequent Elements
- LeetCode Top K Frequent Elements
- LeetCode:Top K Frequent Elements
- leetcode:Top K Frequent Elements
- LeetCode Top K Frequent Elements
- leetcode Top K Frequent Elements
- LeetCode: Top K Frequent Elements
- LeetCode Top K Frequent Elements
- [LeetCode] Top K Frequent Elements
- LeetCode : Top K Frequent Elements
- Leetcode Top K Frequent Elements
- [leetcode]Top K Frequent Elements
- LeetCode: Top K Frequent Elements
- java用两个队列实现栈
- Swift:设置导航栏背景图,标题颜色
- Java实现Redis的消息订阅和发布
- 手把手教你使用CocoaPods打包静态库
- VS2013类向导“异常来自 HRESULT:0x8CE0000B”错误解决方法
- leetcode Top K Frequent Elements
- 射频调试方法及PCB设计方法汇总!
- virtual box 常见错误解决方法
- Luban—— Android图片压缩工具
- MTK平台apn&spn的配置
- unix线程通信方式总结
- 在 ACM竞赛中,为什么美国的公认的计算机名校,如 MIT,斯坦福、加州伯克利、卡内基梅隆,表现不如中国和俄罗斯的高校?
- android中meta-data的基本用法
- SQLSERVER、ORACLE中根据汉字获取拼音函数