攀登者2(70.37%用例)D卷(Java&&Python&&C++&&Node.js&&C语言)

攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。
地图表示为一维数组,数组的索引代表水平位置,数组的高度代表相对海拔高度。其中数组元素0代表地面。
例如[0,1,4,3,1,0,0,1,2,3,1,2,1,0],代表如下图所示的地图,地图中有两个山脉位置分别为 1,2,3,4,5和8,9,10,11,12,13,最高峰高度分别为4,3。最高峰位置分别为3,10。
1.一个山脉可能有多座山峰(高度大于两边,或者在地图边界)。
2.登山时会消耗登山者的体力(整数),上山时,消耗相邻高度差两倍的体力,下坡时消耗相邻高度差一倍的体力,平地不消耗体力,登山者体力消耗到零时会有生命危险。
例如,上图所示的山峰,从索引0,走到索引1,高度差为1,需要消耗2x1 = 2的体力,从索引2高度2走到高度4索引3需要消耗2x2=4 的体力。如果是从索引3走到索引4则消耗1X1的体力。
3.登山者体力上限为999。
4.登山时的起点和终点可以是地图中任何高度为0的地面例如上图中的0, 6, 7, 14 都可以作为登山的起点和终点
攀登者想要评估一张地图内有多少座山峰可以进行攀登,且可以安全返回到地面且无生命危险。
例如上图中的数组,有3个不同的山峰,登上位置在3的山可以从位置0或者位置6开始,从位置0登到山顶需要消耗体力1X2+1X2+2X2 = 8,从山顶返回到地面0需要消耗体力 2X1 + 1X1 + 1X1=4的体力,按照登山路线0->3-0需要消耗体力 12。 攀登者至少需要12以上的体力(大于12) 才能安全返回。

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

[0,1,4,3,1,0,0,1,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

荆赫同艺

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

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

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

打赏作者

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

抵扣说明:

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

余额充值