class Solution {
public:
vector<int> GetLeastNumbers_Solution(vector<int> input, int k)
{
vector<int> vecLeastNumber;
if(k <= 0) return vecLeastNumber;
for(int i = 0; i < input.size(); i++)
{
if(vecLeastNumber.size() >= k)
{
//比较vecLeastNumber中最大的数和input[i],input[i]小则与最大数交换
int nMaxNumIndex = 0;
int nMaxNum = vecLeastNumber[0];
for(int j = 0; j < vecLeastNumber.size(); j++)
{
if(vecLeastNumber[j] > nMaxNum)
{
nMaxNum = vecLeastNumber[j];
nMaxNumIndex = j;
}
}
if(nMaxNumIndex != -1 && input[i] < nMaxNum)
{
int nTmp = input[i];
input[i] = vecLeastNumber[nMaxNumIndex];
vecLeastNumber[nMaxNumIndex] = nTmp;
}
}
else
{
vecLeastNumber.push_back(input[i]);
}
}
return vecLeastNumber;
}
};