剑指offer28-最小k个数

输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。

思路:1.冒泡,时间复杂度O(nk);

    vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
        
        vector<int >number;
        if(k>input.size())
            return number;
        int j=input.size()-1;
        while(k--)
        {
        for(int i=0;i<j;i++)
        {
            if(input[i]<input[i+1])
            {
                int temp=input[i];
                input[i]=input[i+1];
                input[i+1]=temp;
            }
            
        }
            number.push_back(input[j]);
            j--;
        }
        return number;
    }

猜你喜欢

转载自www.cnblogs.com/trouble-easy/p/12971207.html