在线OJ
已购买本专栏用户,请私信博主开通账号,在线刷题!!!
运行出现 Runtime Error 0Aborted,请忽略
华为OD统一考试A卷+B卷 新题库说明
2023年5月份,华为官方已经将的 2022/0223Q(1/2/3/4)统一修改为OD统一考试(A卷)和OD统一考试(B卷)。
你收到的链接上面会标注A卷还是B卷。请注意:根据反馈,目前大部分收到的都是B卷。但是仍有概率抽到A卷。
A卷对应2023的新题库(2022Q4 20223Q1) B卷对应20022部分考题以及新出的题目
专栏:2023华为OD机试(A卷+B卷)(C++JavaJSPy)
题目描述
一个荒岛上有若干人,岛上只有一条路通往岛屿两端的港口,大家需要逃往两端的港口才可逃生。
假定每个人移动的速度一样,且只可选择向左或向右逃生。
若两个人相遇,则进行决斗,战斗力强的能够活下来,并损失掉与对方相同的战斗力;若战斗力相同,则两人同归于尽。
输入描述
给定一行非 0 整数数组,元素个数不超过30000;
正负表示逃生方向(正表示向右逃生,负表示向左逃生),绝对值表示战斗力,越左边的数字表示里左边港口越近,逃生方向相同的人永远不会发生决斗。
输出描述
能够逃生的人总数,没有人逃生输出0,输入异常时输出-1。
用例
输入 | 5 10 8 -8 -5 |
---|---|
输出 | 2 |
说明 | 第3个人和第4个人同归于尽,第2个人杀死第5个人并剩余5战斗力,第1个人没有遇到敌人。 |
题目解析
原题:[735. 行星碰撞](https://leetcode.cn/problems/asteroid-collision/)
唯一的区别,就是本题会自减对方的战斗力。
JS
function asteroidCollision(people) {
// 创建一个空数组,用于存储幸存者
const surv