一、题目描述
给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。
要求:
- 第一步必须从第一元素开始,且1 <= 第一步的步长 < len/2,len为数组的长度,需要自行解析;
- 第二步开始,只能以所在成员的数字走相应的步数,不能多也不能少,如果目标不可达返回-1,只输出最少的步骤数量;
- 只能向数组的尾部走,不能往回走;
二、输入描述
由正整数组成的数组,以空格分隔,数组长度小于100,请自行解析数据数量。
三、输出描述
正整数,表示最少的步数,如果不存在输出-1。
四、测试用例
测试用例1
1、输入
2 2 2
2、输出
-1
3、说明
数组长度为 3,允许第一步步长为 1。
模拟过程:
下标0 → 1,随后 1+2=3,已超过最后一个下标(最后下标为 2),因此无合法路径。
测试用例2
1、输入
4 2 9 5 3 8 1 5 5 2 2 1
本文介绍了华为在线测评中的一道题目,要求从数组的第一个元素出发,找到到达最后一个元素所需的最少步数。题目规定了步长限制和行走规则。解题思路涉及数组遍历和动态规划,通过示例解释了如何计算最少步骤,并提供了Java算法源码进行验证。
订阅专栏 解锁全文
4597

被折叠的 条评论
为什么被折叠?



