troubleasy

导航

 

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

posted on 2020-05-27 10:53  troubleasy  阅读(85)  评论(0编辑  收藏  举报