知识点:数组
一、题目描述:
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
二、思路分析:
先对数组进行排序,再遍历数组输出最小的K个数。
C++实现:
class Solution {
public:
vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
//简单粗暴的方法,先排序,再遍历输出最小的k个数
vector<int> result;//定义返回变量
//特殊情况判断
if(input.empty()|| k>input.size()){
return result;
}
//排序
sort(input.begin(),input.end());
//遍历输出最小的k个数
for(int i=0; i<k; i++){
result.push_back(input[i]);
}
//返回结果
return result;
}
};
python实现:
# -*- coding:utf-8 -*-
class Solution:
def GetLeastNumbers_Solution(self, input, k):
#定义返回变量
result = []
#特殊情况处理
if len(input)==0 or k>len(input):
return result
#用内置函数排序
input.sort()
#遍历输出k个最小的数
for i in range(0,k):
result.append(input[i])
#返回结果
return result