栈与队列 Leetcode 347 前k个高频元素

栈与队列 Leetcode 347 前k个高频元素

Leetcode 347

灵活运用C++库函数,使用匿名函数排序,sort可以替换为快排实现(面试感觉可能会手撕,机考直接使用sort)

cpp 复制代码
class Solution {
public:
    vector<int> topKFrequent(vector<int>& nums, int k) {
        map<int, int> num_f;
        for(int i = 0; i < nums.size(); i++){
            num_f[nums[i]]++;
        }
        vector<pair<int, int>> num_f_vec;
        map<int, int>::iterator it;
        for(it = num_f.begin(); it != num_f.end(); it++){
            // push_back()是创建对象后在复制到vector末尾,而emplace_back是就地构建对象没有复制和移动的操作,提高复杂对象到vector的性能
            num_f_vec.emplace_back(it->first, it->second);
        }
        sort(num_f_vec.begin(), num_f_vec.end(), [](pair<int, int>& a, pair<int, int>& b){
            return a.second > b.second;
        });
        vector<int> res;
        for(int i = 0; i < k; i++){
            res.push_back(num_f_vec[i].first);
        }
        return res;
    }
};
相关推荐
自我意识的多元宇宙5 分钟前
【数据结构】图-----关键路径
数据结构
黎阳之光16 分钟前
视频孪生赋能智慧能源园区:黎阳之光打造全域数智化新标杆
大数据·人工智能·算法·安全·数字孪生
yyy(十一月限定版)18 分钟前
ACM&OJ最终选拔赛
算法
啦啦啦_999925 分钟前
1. 线性回归之 导数偏导数
算法·矩阵·线性回归
踩坑记录26 分钟前
leetcode hot100 5. 最长回文子串 中心扩展法 medium
leetcode
如君愿27 分钟前
考研复习 Day 23 | 习题--计算机网络第一章、数据结构线性表
数据结构·计算机网络·考研·课后习题·记录考研
itzixiao1 小时前
L1-058 6翻了(15分)[java][python]
java·开发语言·python·算法
念何架构之路1 小时前
数组和切片实战
数据结构·算法·排序算法
重生之我是Java开发战士1 小时前
【数据结构】AVL树解析
数据结构·算法
Lazionr1 小时前
数据结构入门:栈实现全解析
c语言·数据结构