【100%通过率】2023华为od统一考试B卷【荒岛求生】Python 实现

这篇博客详细介绍了如何解决华为OD考试中的一道题目——荒岛求生。通过Python实现,当正数和负数代表的逃生者相遇时,根据体力值决定胜负。思路是使用两个栈分别存储正数和负数,遍历过程中比较栈顶元素,最终得出能够逃生的人数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录 

题目

思路

Code


题目

有一个荒岛,只有左右两个港口,只有一座桥连接这两个港口,现在有一群人需要从两个港口逃生,有的人往右逃生,有的往左逃生,如果两个人相遇,则PK,体力值大的能够打赢体力值小的,体力值相同则同归干尽,赢的人才能继续往前逃生,并减少相应的体力
输入描述
一行非 0 整数,用空格隔开,正数代表向右逃生,负数代表向左逃生
输出描述
最终能够逃生的人数
示例1:
输入

5 10 8 -8 -5
输出

2
说明
8与-8 相遇,同归于尽,10 遇到-5,打赢并减少五点体力,最终逃生的为5,5,均从右侧港口逃生,输出2

思路

1:比较简单的题目,利用一个两个栈,分别保存正数和负数,从头到尾遍历一遍就好了,在遍历的过程中,弹出两个栈的元素,进行比较即可。

2:细节要处理好,不管是正数还是负数,只要是赢了都要扣除响应的体力值。

定义规则:

     &

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MISAYAONE

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

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

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

打赏作者

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

抵扣说明:

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

余额充值