剑指 Offer 40. 最小的k个数 | 刷题打卡

165 阅读1分钟

来源:LeetCode:剑指 Offer 40. 最小的k个数

一.问题描述

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

示例1:

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

示例2:

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

二.思路解析

暴力解法:把数组arr排序,然后取出前k个数,至于排序的方法这里就不过多介绍了

三.代码

class Solution {    public int[] getLeastNumbers(int[] arr, int k) {            Arrays.sort(arr);            int[] nums=new int[k];            for(int i=0;i<k;i++){             nums[i]=arr[i];            }            return nums;    }}

四.总结

什么时候量变才能引起质变?嗖嗖

本文正在参与「掘金 2021 春招闯关活动」, 点击查看 活动详情