class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param input int整型vector 
     * @param k int整型 
     * @return int整型vector
     */
    void quick_sort(vector<int>& input,int l,int r)
    {
        if(l>=r)
        {
            return;
        }
        int ll=l+1;
        int val=input[l];
        int rr=r;
        while(ll<=rr)
        {
            if(input[ll]<=val)
            {
                ll++;
            }
            if(input[rr]>val)
            {
                rr--;
            }

            if(ll<=rr&&input[ll]>val&&val>=input[rr])
            {
               swap(input[ll],input[rr]);
            }
        }
        swap(input[l],input[rr]);
        quick_sort(input, l, rr-1);
        quick_sort(input, rr+1, r);

    }
    vector<int> GetLeastNumbers_Solution(vector<int>& input, int k) {
        // write code here
        vector<int> v;
        if(k==0)
        {
            return v;

        }
        quick_sort(input,0,input.size()-1);
        for(int i=0;i<k;i++)
        {
            v.push_back(input[i]);
        }
        return v;
    }
};