程序通过从python的末端删除K个数字来找到最大和
假设我们有一个称为nums的数字列表,另一个值为k。考虑到我们必须正好弹出k次(每次弹出可以从左端或右端开始),我们必须找到可以删除的元素的最大和。
因此,如果输入类似于nums=[2,4,5,3,1]k=2,则输出将为6,因为我们可以删除2和4。
为了解决这个问题,我们将遵循以下步骤-
窗口:=从索引0到k-1的所有数字的总和
ans:=窗口
对于1到k范围内的i
window:=window-nums[k-i]
窗口:=窗口+数字[-i]
ans:=ans和window的最大值
返回ans
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, nums, k):
window = sum(nums[:k])
ans = window
for i in range(1, k + 1):
window -= nums[k - i]
window += nums[-i]
ans = max(ans, window)
return ans
ob = Solution()nums = [2, 4, 5, 3, 1]
k = 2
print(ob.solve(nums, k))输入值
[2, 4, 5, 3, 1], 2
输出结果
6
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西