用 Python 编写一个在线性时间内查找第 k 个最小元素的程序

pythonserver side programmingprogramming更新于 2026/1/21 21:00:17

假设我们有一个名为 nums 的数字列表,我们还有另一个值 k,我们必须找到列表中第 k 个(从 0 开始)最小的元素。我们平均需要在 O(n) 时间内解决这个问题。

因此,如果输入为 nums = [6, 4, 9, 3, 1] k = 2,则输出将为 4,因为排序后列表将为 [1, 3, 4, 6, 9],第 k 个最小元素为 4。

为了解决这个问题,我们将遵循以下步骤 −