页面加载中…
通过率 71% · 提交 42 · 通过 30
在神秘的大陆「阿斯卡隆」,有一条由 n 颗魔法水晶组成的水晶链。每颗水晶都拥有一个整数的魔力值,依次排列在一起,形成一个整数数组 `a[1], a[2], ..., a[n]`。 为了测量魔力的稳定性,大魔法师会取出所有长度恰好为 `d` 的进行分析。 对于每一段连续的 `d` 颗水晶,我们定义它的为:``。 其中 `max_value` 是该段水晶的最大魔力值,`min_value` 是该段水晶的最小魔力值。 你的任务是: 找出所有这些长度为 `d` 的连续水晶段的波动幅度中,最大的那个值,并输出它。
这类题属于华为可信认证科目一方向中「可信 / 单调队列」方向的高频题型,通常考察对「可信 / 单调队列」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
n (1 <= n <= 10^3),表示水晶链的长度。n 个整数 a[1], a[2], ..., a[n] (-10^9 <= a[i] <= 10^9),表示每颗水晶的魔力值。d (1 <= d <= n),表示要分析的连续水晶段的长度。d 的连续水晶段的波动幅度中的最大值。示例 1
输入示例
5 1 3 2 5 4 3
输出示例
3
对于 a = [1, 3, 2, 5, 4] 且 d = 3,所有长度为 3 的连续水晶段及其波动幅度为:
[1, 3, 2] → max_value = 3, min_value = 1 → 波动幅度 = 3 - 1 = 2[3, 2, 5] → max_value = 5, min_value = 2 → 波动幅度 = 5 - 2 = 3[2, 5, 4] → max_value = 5, min_value = 2 → 波动幅度 = 5 - 2 = 3最大波动幅度为 3,因此输出 3。
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有