LeetCode-40:最小的k个数

一、题目描述

二、解题思路

肯定要先排序,我们可以使用快速排序或者堆排序等等,或者就是STL中的sort函数

/* class Solution { public: vector<int> getLeastNumbers(vector<int>& arr, int k) { priority_queue<int, vector<int>, greater<int>> q; auto len = arr.size(); for(auto i = 0; i < len; i++) q.push(arr[i]); vector<int> sln; for(int i = 0; i < k; i++){ sln.push_back(q.top()); q.pop(); } return sln; } }; */
class Solution {
   
public:
    vector<int> getLeastNumbers(vector<int>& arr, int k) {
   
        sort(arr.begin(), arr.end());
        vector<int> sln;
        for(int i = 0; i < k; i++)
            sln.push_back(arr[i]);
        return sln;
    }
};

三、运行结果

上面sort排序,下面堆排序

全部评论

相关推荐

LXXXXd:有点杂,想搞自动化的话没必要把法律的经历写上去
点赞 评论 收藏
分享
纯真的河老师在喝茶:第一个是这个时间点岗位少,第二个是这个简历重复度太高了,10个有9个简历差不多的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务