华为OD机试 - 消消乐能量碰撞(Java 新系统 100分)
华为OD机试 新系统 题库疯狂收录中刷题点这里专栏导读本专栏收录于《华为OD机试JAVA真题》。刷的越多抽中的概率越大私信哪吒备注华为OD加入华为OD刷题交流群每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景发现新题目随时更新全天CSDN在线答疑。一、题目描述在一个充满魔法能量的消除游戏中一排排不同颜色的能量球代表不同质量/能量值静止在网格中。当玩家触发消除机制时相邻的能量球会发生相互碰撞。消除规则碰撞机制当两个相邻的能量球相遇时系统会根据它们的能量值质量进行判断。强弱判定如果两个能量球的能量值不同能量值较低的那个球会被对手的能量波吞噬从而消除。同归于尽如果两个能量球的能量值完全相同它们会引发剧烈的能量湮灭反应导致两者同时被消除。幸存条件只有能量值足够高且未发生碰撞或碰撞后存活的能量球才能留在场上继续等待下一轮消除。题目目标给定一排初始的能量球序列请模拟上述消除过程找出最终留在场上的所有能量球及其顺序。约束能量球的个数不超过 1000 个能量球的能量值是非负整数最大不超过 10000二、输入描述输入为一行字符串格式为n a1,a2,a3,...,an其中 n 表示能量球的数量方括号内为初始能量球序列的数值列表。三、输出描述输出最终留在场上的所有能量球序列以数组形式表示格式为 b1,b2,…,bm。四、测试用例测试用例11、输入53,5,5,2,32、输出33、说明3 留下5 3留下 55 5两个都消除2 留下3 2最终留下 3测试用例21、输入61,2,2,1,3,42、输出43、说明12 1 → 22 2 → 全部消失13 1 → 34 3 → 4最终输出 4。五、解题思路处理每个新能量球 current 时只需要关心当前场上是否存在一个幸存球 survivor当前没有幸存球current 直接留下。current survivor两个球同时消除场上为空。current survivor原幸存球被消除current 成为新幸存球。current survivor新球被消除原幸存球继续存在。为什么只保存一个变量就够因为每次新球与当前幸存球碰撞后结果只可能是留下其中一个两个都消失。因此任意时刻场上最多只有一个有效幸存球没有必要使用栈、队列或数组保存中间状态。六、Java算法源码publicclassOdTest{publicstaticvoidmain(String[]args){ScannerscannernewScanner(System.in);// 输入既包含换行也包含逗号因此把“逗号或任意空白字符”都作为分隔符。// 例如// 5// 3,5,5,2,3// 会依次读取出 5、3、5、5、2、3。scanner.useDelimiter([,\\s]);intnscanner.nextInt();// hasSurvivor 表示当前场上是否存在幸存球。booleanhasSurvivorfalse;// survivor 保存当前幸存球的能量值。intsurvivor0;for(inti0;in;i){intcurrentscanner.nextInt();if(!hasSurvivor){// 当前场上没有能量球// 新进入的能量球直接成为当前幸存球。survivorcurrent;hasSurvivortrue;}elseif(currentsurvivor){// 两个相邻能量球能量完全相同// 根据规则两者同归于尽因此场上重新变为空。hasSurvivorfalse;}elseif(currentsurvivor){// 新进入的能量球更强// 原幸存球被消除新球成为新的幸存球。survivorcurrent;}// 如果 current survivor// 新进入的球较弱会被原幸存球消除。// survivor 不需要发生任何变化。}// 根据题目给出的样例格式输出时不添加 []。// 如果全部能量球都被消除则输出空行。if(hasSurvivor){System.out.println(survivor);}else{System.out.println();}scanner.close();}}七、效果展示1、输入50,3,3,0,22、输出23、说明0 留下3 0 → 留下 33 3 → 两个都消失0 留下2 0 → 留下 2最终输出 2。下一篇华为OD机试 - 简易内存池 - 逻辑分析Java 新系统 200分本专栏收录于《华为OD机试JAVA真题》。刷的越多抽中的概率越大私信哪吒备注华为OD加入华为OD刷题交流群每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景发现新题目随时更新全天CSDN在线答疑。

相关新闻

银行软件测试实战资料包:涵盖信贷、票据、存款业务,含视频教程、文档、面试与工具集

银行软件测试实战资料包:涵盖信贷、票据、存款业务,含视频教程、文档、面试与工具集

温馨提示:文末有联系方式 银行测试专属资料全面升级 本套资料专为银行领域软件测试人员精心整理,覆盖主流核心业务场景,内容权威、结构清晰、即学即用。 核心业务模块全覆盖 深度整合信贷业务全流程测试实践、票据业务关键流程培训、存款业…

2026/10/29 2:19:07 阅读更多 →
知识图谱项目:SPG、OpenSPG、KAG

知识图谱项目:SPG、OpenSPG、KAG

知识图谱,Knowledge Graph,KG,一种用图结构来表示知识的方式,由节点(表示实体,如人、地点、概念)和边(表示实体之间的关系)组成。 基本单元:通常是SPO三元组…

2026/10/29 2:19:07 阅读更多 →
如何彻底清理此电脑顽固图标?MyComputerManager开源工具实测笔记

如何彻底清理此电脑顽固图标?MyComputerManager开源工具实测笔记

如何彻底清理此电脑顽固图标?MyComputerManager开源工具实测笔记 【免费下载链接】MyComputerManager 管理“此电脑”里删不掉的流氓“快捷方式”(包括侧边栏),同时可自己添加这类“快捷方式” 项目地址: https://gitcode.com/g…

2026/10/28 10:17:08 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/28 23:48:14 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/28 7:28:00 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/28 9:02:11 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/28 22:10:30 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/28 9:00:54 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/28 7:29:02 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 16:58:40 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 9:01:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 19:25:09 阅读更多 →