题目描述
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
分析:先排序,再取前k个,时间复杂度O(nlogn)
Note:
如果是赋值的话,比如a=i++ 先赋值再+1,或者a=++i 则先+1再赋值;
如果是用在for循环里面,两者的效果是一样的,但是效率不一样,++i 的语句在汇编代码中比 i++更优化,效率也更高。
class Solution {
public:
vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
vector<int> result;
int len=input.size();
if(len!=0&&len>=k){
sort(input.begin(),input.end());
for(int i=0;i<k;++i){
result.push_back(input[i]);
}
return result;
}
else{
return result;
}
}
};