栈与队列 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;
    }
};
相关推荐
八月五8 分钟前
LeetCode—74. 搜索二维矩阵(中等)
算法·leetcode·矩阵
越努力^越幸运1 小时前
类和对象--中--运算符重载、日期类实现(重要)
开发语言·c++·算法
云卓SKYDROID2 小时前
无人机:智能飞行控制系统技术与算法
科技·算法·无人机·科普·云卓科技
孑么2 小时前
力扣 二叉树的中序遍历
java·算法·leetcode·职场和发展
码农多耕地呗2 小时前
贪心—排序不等式——acwing
算法
Theodore_10222 小时前
10 设计模式之装饰模式
java·开发语言·算法·设计模式·java-ee·装饰模式
colman wang3 小时前
C语言刷题笔记3(7)
c语言·笔记·算法
laufing3 小时前
OD E卷 - 实现【流浪地球】
python·算法·逻辑模拟
pursuit_csdn3 小时前
力扣 48. 旋转图像
数据结构·算法·leetcode·矩阵·力扣
Reeeeeeeeeee-4 小时前
[MRCTF2020]Transform
c语言·开发语言·汇编·c++·算法