//题目描述
//
//输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
#include<vector>
#include<iostream>
#include<algorithm>
using namespace std;
class Solution {
public:
vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
vector<int>res;
if(input.size()<k)return res;
sort(input.begin(),input.end());
for(int i=0;i<k;i++)
res.push_back(input[i]);
return res;
}
};
int main(){
Solution test=Solution();
vector<int>v;
v.push_back(4);
v.push_back(5);
v.push_back(1);
v.push_back(6);
v.push_back(2);
v.push_back(7);
v.push_back(3);
v.push_back(8);
v=test.GetLeastNumbers_Solution(v,4);
for(int i=0;i<4;i++)
cout<<v[i]<<" ";
cout<<endl;
system("pause");
return 0;
}
【剑指offer】5.2时间效率——面试题30:最小的k个数
最新推荐文章于 2024-09-27 00:59:37 发布