您的位置:首页 > 产品设计 > UI/UE

Leetcode Top K Frequent Elements

2016-12-26 04:48 295 查看
题意:给出出现频数前K个的数字。

思路:统计频数,并将数字按频数排序。

class Solution {
public:
vector<int> topKFrequent(vector<int>& nums, int k) {
map<int, int> m;
for(int i = 0; i < nums.size(); ++ i){
m[nums[i]] ++;
}

vector<pair<int, int> > p;
pair<int, int> temp;
std::map<int, int>::iterator it;
for(it = m.begin(); it != m.end(); ++ it) {
temp.first = it->first;
temp.second = it->second;
p.push_back(temp);
}

std::sort(p.begin(), p.end(), [](const pair<int, int> a, const pair<int, int> b){return a.second > b.second;});
vector<int> re;
for(int i = 0; i < k; i ++) {
re.push_back(p[i].first);
}

return re;

}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode