程序在Python中最多更新三次元素后查找最大值和最小值的最小差异
假设我们有一个称为nums的数字列表,现在考虑一个可以将元素更新为任何值的操作。我们最多只能执行3种此类操作,我们必须找到以num为单位的最大值和最小值之间的最小差值。
因此,如果输入类似于nums=[2,3,4,5,6,6,7],则输出将为2,因为我们可以将列表更改为[4,3,4,5,5,4,4]然后5-3=2。
为了解决这个问题,我们将遵循以下步骤-
如果nums<=4,则
返回0
n:=nums的大小
排序列表编号
返回范围0到3中所有i的nums[n-4+i]-nums[i]之间的差的最小值
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, nums):
if len(nums) <= 4:
return 0
nums.sort()
return min(nums[-4 + i] - nums[i] for i in range(4))
ob = Solution()nums = [2, 3, 4, 5, 6, 7] print(ob.solve(nums))输入项
[2, 3, 4, 5, 6, 7]
输出结果
2
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西