题目描述
一贫如洗的樵夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地,
藏宝地有编号从0~N的箱子,每个箱子上面贴有一个数字。
阿里巴巴念出一个咒语数字k(k<N),找出连续k个宝箱数字和的最大值,
并输出该最大值。
输入描述
第一行输入一个数字字串,数字之间使用逗号分隔,
例如:2,10,-3,-8,40,5
1 ≤ 字串中数字的个数 ≤ 100000
-10000 ≤ 每个数字 ≤ 10000
第二行输入咒语数字,例如:4,咒语数字大小小于宝箱的个数
输出描述
连续k个宝箱数字和的最大值,例如:39
用例1
输入
2,10,-3,-8,40,5
4
输出
39
说明
无
用例2
输入
2,20,-3,-8,40,-5
3
输出
29文章来源:https://www.toymoban.com/news/detail-687141.html
考点
滑动窗口文章来源地址https://www.toymoban.com/news/detail-687141.html
代码
vec=list(map(int,input().split(',')))
m=int(input())
sum=0
res=0
n=len(vec)
left=0
for i in range(n):
sum+=vec[i]
if i-left+1==m:
res=max(res,sum)
sum-=vec[left]
left+=1
print(res)
到了这里,关于【华为OD机试python】阿里巴巴找黄金宝箱(V)【2023 B卷|100分】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!