牛客题霸 [ 最小的K个数] C++题解/答案

题目描述

输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。

题解:

如果有n<k的就输出空vector
然后对input进行排序,取前k个值

代码:

class Solution {
   
public:
    vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
   
        vector<int>ans;
        if(input.size()<k)return ans;
        sort(input.begin(),input.end());
        
        for(int i=0;i<k;i++)
        {
   
            ans.push_back(input[i]);
        }
        return ans;
    }
};