小多米一转眼已经快一岁了,虽然他现在还不会走,但是已经有种跃跃欲试的想跳的冲动了。现在小多米想知道经过有限的步骤,能否从这头跳到那头?
为了帮助小多米解决这个问题,今天我们就来看看算法领域的“跳跃游戏”问题。
“跳跃游戏”问题规则如下:
- 给出一个非负整数数组,你最初定位在数组的第一个位置。
- 数组中的每个元素代表你在那个位置可以跳跃的最大长度。
- 判断你是否能到达数组的最后一个位置。
小多米需要计算出能否到达数组的最后一个位置?
样例1如下:
输入:[2,3,1,1,4]
输出:true
解释:从位置0到位置1跳1步,然后再位置1跳3步到达最后一个位置。
样例2如下:
输入:[3,2,1,0,4]
输出:false
解释:无论怎么跳,你总会到达位置3,但是该位置的最大跳跃长度是0,所以你永远不可能达到最后一个位置。
上面就是算法中“跳跃游戏”问题。聪明的你,知道怎么帮助小多米解决这个问题吗?