Leetcode 剑指 Offer 40. 最小的k个数 (每日一题 20210825)
输入整数数组 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]链接:https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcofclass Solution:def getLeastNumbers(self, arr: List[int], k: int) -> List[int]:if k >= len(arr):return arrdef quick_sort(l, r):i, j = l, rwhile i < j:while i < j and arr[j] >= arr[l]:j -=1while i < j and arr[i] <= arr[l]:i +=1arr[i], arr[j] = arr[j], arr[i]arr[l], arr[i] = arr[i], arr[l]if k < i:return quick_sort(l, i-1)if k > i:return quick_sort(i + 1, r)return arr[:k]return quick_sort(0, len(arr)-1)
Leetcode 剑指 Offer 40. 最小的k个数 (每日一题 20210825)相关推荐
- 【LeetCode】剑指 Offer 40. 最小的k个数
[LeetCode]剑指 Offer 40. 最小的k个数 文章目录 [LeetCode]剑指 Offer 40. 最小的k个数 一.笨比解法 二.堆排序 三.快速选择 总结 一.笨比解法 选择排序变 ...
- 【Java】 剑指offer(40) 最小的k个数
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 输入n个整数,找出其中最小的k个数.例如输入4.5.1.6.2.7 ...
- 最小的k个数 java_【Java】 剑指offer(40) 最小的k个数
本文参考自<剑指offer>一书,代码采用Java语言. 题目 输入n个整数,找出其中最小的k个数.例如输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 思 ...
- 剑指 Offer 40. 最小的k个数
题目 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例 输入:arr = [3,2,1], k = 2 输 ...
- LeetCode_Heap_剑指 Offer 40. 最小的k个数 【堆,泛型实现,自定义比较器】【C++/java】【简单】
目录 一,题目描述 英文描述 中文描述 示例与说明 二,解题思路 1,手动实现堆--C++泛型实现 2,手动实现堆--java泛型实现 3,快速使用堆--C++ 优先队列 pop_heap().pus ...
- 剑指offer 40.最小的 K 个数 python代码
题目 寻找数组中的最小的k个数,也叫topk问题. 牛客网测试地址 注意: 牛客网的提交需要将最终的结果排序 思路 快速排序的 partition() 方法,会返回一个整数 j 使得 a[l-j-1] ...
- 【力扣刷题】剑指 Offer 40. 最小的k个数(大顶堆)
题目: 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例: 输入:arr = [3,2,1], k = 2 ...
- 【算法】剑指 Offer 40. 最小的k个数 【重刷】
1.概述 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例 1: 输入:arr = [3,2,1], k ...
- 174. 地下城游戏;剑指 Offer 40. 最小的k个数;378. 有序矩阵中第K小的元素;703. 数据流中的第K大元素
一些恶魔抓住了公主(P)并将她关在了地下城的右下角.地下城是由 M x N 个房间组成的二维网格.我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主. 骑士的初始 ...
最新文章
- SAP RETAIL 通过自动补货功能触发的采购申请有些啥特殊的地方?
- 可以由指令直接指定的I/O端口数(一共256个,从0到255一共256个端口号)
- 【Android】Vitamio 4.0 公测版发布(2013-05-28)
- app.vue只执行一次吗_面包可以只发酵一次吗?
- (46)分析 INT 0x2E 和 sysenter
- vs(visual studio)调试功能里各个按钮的意义及使用方法?
- 高仿国美在线底部代码实现
- vm linux数据恢复,VMWARE虚拟机数据恢复
- C++类对象创建过程揭密
- StringIndexOutOfBoundsException
- 请问投稿中要求上传的author_SCI投稿状态解析
- python爬虫之 网页正文提取方法
- 报错 UserWarning: No NMS is available. Please upgrade torchvision to 0.3.0+
- 浅谈企业IT技术运营中台
- 数据出境需“安检”,怎样才能合法合规
- 使用PHP实现文件上传
- CF676A Nicholas and Permutation 题解
- 电脑安装win10系统
- 关于px4源码中固定翼姿态控制
- mysql_native_password_连接报错'mysql_native_password'