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;
    }
};