7.29华为OD机试真题 新系统 - 能量对撞 (Java/Py/C/C++/Js/Go)

能量对撞

2026 华为OD机试真题 7月29日华为OD上机新系统考试真题 100 分题型

点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解

题目描述

在一个充满魔法能量的消除游戏中,一排排不同颜色的能量球(代表不同质量/能量值)静止在网格中。当玩家触发消除机制时,相邻的能量球会发生相互碰撞

消除规则:

  1. 碰撞机制:当两个相邻的能量球相遇时,系统会根据它们的能量值(质量)进行判断。
  2. 强弱判定:如果两个能量球的能量值不同,能量值较低的那个球会被对手的能量波吞噬,从而消除。
  3. 同归于尽:如果两个能量球的能量值完全相同,它们会引发剧烈的能量湮灭反应,导致两者同时被消除
  4. 幸存条件:只有能量值足够高且未发生碰撞(或碰撞后存活)的能量球,才能留在场上继续等待下一轮消除。

题目目标:

给定一排初始的能量球序列,请模拟上述消除过程,找出最终留在场上的所有能量球及其顺序。

约束:

能量球的个数不超过 1000 个,能量球的能量值是非负整数,最大不超过 10000。

输入描述

输入共两行:

  • 第一行输入整数 n,表示能量球数量。
  • 第二行输入 n 个整数,使用英文逗号分隔,表示初始能量球序列。

输出描述

输出最终留在场上的所有能量球序列,以数组形式表示,格式为 [b1,b2,...,bm]

示例1

输入

5
3,5,5,2,3

输出

[3]

说明

  1. 遇到 3:场上空,3 上场。
    • 当前场上:[3]
  2. 遇到 5:场上有 3。因为 5>3 (5比3大),3 被 5 吃掉。5 继续检查,场上空了,5 上场。
    • 当前场上:[5]
  3. 遇到 5:场上有 5。因为 5==5 (两个一样大),5 和 5 同归于尽。
    • 当前场上:[] (空)
  4. 遇到 2:场上空,2 上场。
    • 当前场上:[2]
  5. 遇到 3:场上有 2。因为 3>2 (3比2大),2 被 3 吃掉。3 继续检查,场上空了,3 上场。
    • 当前场上:[3]

最终结果:场上只剩下一个 3。

示例2

输入

6
1,2,2,1,3,4

输出

[4]

说明<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值