剑指 Offer 40. 最小的k个数

Posted 是七喜呀!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指 Offer 40. 最小的k个数相关的知识,希望对你有一定的参考价值。

最小的k个数


题目链接: 最小的k个数

有关题目

输入整数数组 arr ,找出其中最小的 k 个数。
例如,输入451627388个数字,则最小的4个数字是1234
示例 1:

输入:arr = [3,2,1], k = 2
输出:[1,2] 或者 [2,1]
示例 2:

输入:arr = [0,1,2,1], k = 1
输出:[0]
限制:

0 <= k <= arr.length <= 10000
0 <= arr[i] <= 10000

题解

1、快速排序

class Solution {
public:
    vector<int> getLeastNumbers(vector<int>& arr, int k) {
        vector<int> vec(k,0);
        sort(arr.begin(),arr.end());
        for (int i = 0; i < k; i++)
        {
            vec[i] = arr[i];
        }
        return vec;
    }
};

在这里插入图片描述

在这里插入图片描述

以上是关于剑指 Offer 40. 最小的k个数的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer--40最小的k个数

剑指 Offer 40. 最小的k个数

剑指 Offer 40. 最小的k个数

剑指Offer40 最小的k个数

LeetCode(剑指 Offer)- 40. 最小的 k 个数

剑指Offer-时间效率面试题40:最小的k个数