文章目录
- 一、题目
- 🎃题目描述
- 🎃输入输出
- 🎃样例1
- 🎃样例2
- 🎃样例3
- 二、代码与思路参考
- 🎈C++语言思路
- 🎉C++代码
- 🎈Java语言思路
- 🎉Java代码
- 🎈Python语言思路
- 🎉Python代码
- 🎈C语言思路
- 🎉 C语言代码
- 🎈JS语言思路
- 🎉JS代码
- 作者:KJ.JK
订阅本专栏后即可解锁在线OJ刷题权限
🍂专栏介绍:最新的华为OD机试题目总结,使用C++、Java、Python、C语言、JS五种语言进行解答,每个题目的思路分析都非常详细,支持在线OJ评测刷题!!!!订阅后获取权限,新增图解思路,问题解疑,多样例测试,超过百字的思路参考解析,持续更新,代码仅供学习参考
题库学习: 华为OD技术面试手撕真题
一、题目
🎃题目描述
你为一款动作游戏设计战士角色的技能:战士每个技能会消耗不同能量,释放技能有 2 22 个约束:连续释放技能数量不能超过 m 个,技能能量总和不能超过能量上限 k;如果超过则必须中断 当前技能,进入调息状态(即分段)。
战士有一项爆发技巧:在单次战斗中有一次能量上限翻倍至2k 的机会,此项场景下战士需使用连续的 w 个技能(技能数量限制 m 依然生效)。
任务目标:
作为战术分析师,你需要为战士规划最优的技能释放序列。给定一套技能的能量消耗列表 a=,请计算在合理使用爆发机会(或选择不使用)的前