用 Python 编写程序,查找 k 大小的列表,其中最大和最小项之间的差异最小
pythonserver side programmingprogramming更新于 2026/1/17 23:08:17
假设我们有一个名为 nums 的数字列表和一个整数 k,我们必须从 nums 中选择元素来创建一个大小为 k 的列表,使得列表中最大整数和最小整数之间的差异尽可能小。我们将返回这个差值。
因此,如果输入为 nums = [3, 11, 6, 2, 9], k = 3,则输出将为 4,因为我们可以制作的最佳列表是 [2, 3, 6]。
为了解决这个问题,我们将遵循以下步骤 −
对列表 nums 进行排序
ls := a new list
对于 i 在 0 到 nums 大小 - k + 1 范围内,执行
在 ls 末尾插入 nums[i + k - 1] - nums[i]
返回 ls 的最小值
让我们看看下面的实现以便更好地理解 −
示例
class Solution: def solve(self, nums, k): nums.sort() ls = [] for i in range(len(nums) - k + 1): ls.append(nums[i + k - 1] - nums[i]) return min(ls) ob = Solution() nums = [3, 11, 6, 2, 9] k = 3 print(ob.solve(nums, k))
输入
[3, 11, 6, 2, 9],3
输出
4
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

