Top K Frequent Elements
来源:互联网 发布:相片制作软件下载 编辑:程序博客网 时间:2024/05/16 11:31
题目描述:
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.
你可以假设k总是有效的,1 ≤ k ≤ 独立元素的个数。
LeetCode 347. Top K Frequent Elements
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.
给定一个非空整数数组,返回其前k个出现次数最多的元素。
注意:你可以假设k总是有效的,1 ≤ k ≤ 独立元素的个数。
你的算法时间复杂度必须优于O(n log n),其中n是数组的长度。
思路:
这题不难,但是万万没想到一次居然成功了。使用一个map,key=元素,value=频率
然后根据k输出高频率对应的元素到一个vector。
ps:也想多通过sort得到两个vector,功能类似map,但是麻烦一些
class Solution {public:vector<int> topKFrequent(vector<int>& nums, int k) {map<int, int> m;vector<int> ans;vector<int>::iterator it;for (it = nums.begin(); it < nums.end(); it++){if (m.count(*it)){m[*it]++;}else{m.insert(pair<int, int>(*it, 1));}}int key=-1;int key2=0;int i = 0;map<int,int>::iterator it2;for (i = 0; i<k; i++){key = -1;key2 = 0;for (it2 = m.begin(); it2 != m.end(); it2++){//数字,频率//key.insert(pair<int, int>(it2->first, it2->second));if (it2->second > key){key = it2->second;key2 = it2->first;} }ans.push_back(key2);m.erase(key2);}return ans;}};
0 0
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- Top K Frequent Elements
- 堆排序
- 渐近记号
- Spring与RMI集成实现远程访问
- UITabBarController(标签栏控制器)
- 0046 Linux(ubuntu14.04)下安装java及其环境配置
- Top K Frequent Elements
- iOS-实现图片的捏合放大与缩小
- 记-wap的预实习
- 将一个字符串中的空格替换为“%20”(java)
- 常用SQL语句
- 福州oj--2232--炉石传说(最大匹配||最大流)
- 自定义组合控件
- 用Vim的方式操作浏览器
- GDOI2016游记