小慕正在处理一个数组项目,数组名为 nums,最多包含100个元素。他需要从第一个元素出发,恰好走到最后一个元素,并找出最少的步数。 要求如下: 1. 第一步必须从第一个元素开始,且必须满足:1 ≤ 第一步的步长 < len/2(len 是数组长度,需要小慕自己解析)。 2. 从第二步开始,小慕只能按照当前所在位置的数字值走相应的步数,不能多也不能少。如果无法到达最后一个元素,则返回 -1,只输出最少的步数。 3. 小慕只能向数组尾部方向前进,不能往回走。
提示:带虚线的词点一下有通俗解释。
输入描述
由正整数组成的数组,以空格分隔,数组长度小于100,请自行解析数据数量。
输出描述
正整数,表示最少的步数,如果不存在输出-1
示例
示例 1
输入
7 5 9 4 2 6 8 3 5 4 3 9
输出
2
说明:第一步: 第一个可选步长选择2,从第一个成员7开始走2步,到达9; 第二步: 从9开始,经过自身数字9对应的9个成员到最后。
示例 2
输入
1 2 3 7 1 5 9 3 2 1
输出
-1
时间限制 1000 ms · 内存限制 128 MB