剑指offer(26)-最小的K个数

来源:互联网 发布:视频软件大全 编辑:程序博客网 时间:2024/06/11 03:11

题目描述


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

代码


class Solution {public:    vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {        vector<int> result;        // 冒泡排序,只需要循环到k次        int size = input.size();        if(k>size){            return result;        }        for (int i=0;i < k;i++){            for (int j=0;j<size-i-1;j++){                if(input[j] < input[j+1]){                    int temp = input[j];                    input[j] = input[j + 1];                    input[j + 1] = temp;                }            }            result.push_back(input[size-i-1]);        }        return result;    }};
0 0