【华为OD机试python】阿里巴巴找黄金宝箱(V)【2023 B卷|100分】

题目描述

一贫如洗的樵夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地,

藏宝地有编号从0~N的箱子,每个箱子上面贴有一个数字。

阿里巴巴念出一个咒语数字k(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

考点

滑动窗口

 代码

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,算法,c++,python)