AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3250. 找黄金宝箱(5)

简单通过率 55% · 提交 359 · 通过 197
滑动窗口前缀和固定滑窗

小慕在整理仓库时,发现了一排编号从 0 到 N 的箱子,每个箱子上都贴着一个数字。小慕需要念出一个咒语数字 k(k < N),然后找出连续 k 个箱子上的数字之和的,最后输出这个最大值。

提示:带虚线的词点一下有通俗解释。

输入描述

第一行输入一个数字字串,数字之间使用逗号分隔,例如: 2,10,-3,-8,40,5。 1 ≤ 字串中数字的个数 ≤ 100000 -10000 ≤ 每个数字 ≤ 10000 第二行输入咒语数字k,例如: 4,咒语数字大小小于宝箱的个数

输出描述

连续 k 个宝箱数字和的最大值,例如: 39

示例

示例 1

输入

2,10,-3,-8,40,5
4

输出

39

示例 2

输入

8
1

输出

8

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
固定滑窗求最大和(示例:2,10,-3,-8,40,5 k=4) 箱子编号: 0 1 2 3 4 5 箱子数字: 2 10 -3 -8 40 5 窗口1: 2+10+(-3)+(-8)=1 窗口2: 10+(-3)+(-8)+40=39(最大) 窗口3: (-3)+(-8)+40+5=34 最大和为39
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「找黄金宝箱(5)」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。