剑指offer系列——29.最小的K个数

Q:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。
T:
注意空的情况和k过大的情况。
1.直接排序输入。

    vector GetLeastNumbers_Solution(vector input, int k) {
        vector result;
        if (input.empty())
            return result;
        sort(input.begin(), input.end(), [](const int &a, const int &b) { return a < b; });
        if (k > input.size())
            return result;
        for (int i = 0; i < k; i++)
            result.push_back(input[i]);
        return result;
    }

2.其他排序方法看:https://www.cnblogs.com/xym4869/p/8666860.html

你可能感兴趣的:(剑指offer系列——29.最小的K个数)