【剑指offer】面试题30:最小的K个数
面试题 30 最小 Offer 个数
2023-09-11 14:21:03 时间
import random def partition(data, start, end): if end <= start: return start index = random.randint(start, end) guard = data[index] while True: while data[start] < guard: start += 1 while data[end] > guard: end -= 1 if start >= end: break data[start], data[end] = data[end], data[start] return start def getKMins(data, k): if len( data ) <= k: return data start = 0; end = len( data ) - 1 index = partition(data, start, end) while index != k - 1: if index > k - 1: index = partition(data, start, index - 1) else: index = partition(data, index + 1, end) return data[ 0 : k]
相关文章
- SpringBoot面试题 (史上最全、持续更新、吐血推荐)
- Vue.js 常见面试题
- 职场高薪 |「中高级测试」面试题
- 2023最新整理软件测试常见面试题附答案
- 字节跳动开发面试题——iOS
- 网易面试——笔试面试题总结
- 机器学习面试题——决策树DT(Decision Tree),二叉树或多叉树分支决策分类
- 字节面试,新鲜出炉的软件测试面试题(附带答案)
- 测试工程师面试题,你都遇到过哪些呢?
- 2014年秋季招聘IT面试题总结(持续更新)
- 常见的海量数据面试题总结
- 《.NET程序员面试秘笈》----面试题15 .NET程序是如何编译的
- 2022春招前端最新面试题分享(厨芯科技)
- MySQL面试题之如何优化一条有问题的SQL语句?
- iOS面试题
- 面试题(一)
- Java常量池详解之抓狂的面试题
- Unity 面试题汇总(二)之 C# 位运算、算法基础