最小的k个数

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

思路:
使用冒泡排序,将最小的四个冒到最后去(也就是i只取4次),然后将数组中最后4个元素加到另一个数组中去,返回

class Solution {
public:
    vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
        int temp;
        for(int i=0;i<k;i++)
        {
            for(int j=0;j<input.size();j++)
            {
                if(input[j]<input[j+1])
                {
                    temp=input[j];
                    input[j]=input[j+1];
                    input[j+1]=temp;
                }
            }
        }
        vector<int> output;
        for(int i=input.size()-k;i<input.size();i++)
        {
            output.push_back(input[i]);
        }
        return output;
    }
};
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务