☰
华为OD机试真题 新系统 2026-09-26 C++【数据中心最佳维护时间窗】
2026/10/9 2:52:24 网站建设 项目流程

目录

题目

思路

Code

题目

题目内容:

数据中心使用一个整数数组 scores,记录 N 小时内每小时的服务器得分(可正可负)。0 表示服务器故障(无效小时)。

你需要找到一个连续子数组作为维护窗口,满足以下条件:

- 子数组中不包含任何 0;

- 子数组长度 L 不能超过指定上限 W(1≤L≤W),且子数组元素之和最小;

- 如果存在多个满足上述条件的子数组,选择起始下标最小的那个。

输入描述:

N:总小时数(1≤N≤100000);

W:窗口长度(1≤W≤min(N,10000));

scores:长度为 N 的整数数组,表示每小时的得分。

输出描述:

一个包含两个整数的数组 [start_index, min_sum],其中 start_index 是子数组的起始下标(从 0 开始),min_sum 是最小和。

如果不存在满足条件的子数组(如数组全为 0),返回 [-1, 0]。

样例1

输入:

4 3 0,0,0,0

输出:

[-1,0]

说明:窗口大小最小为 1,最大为 3,且不能包含 0。

说明:

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询