跳跃游戏
给你一个非负整数数组 nums
,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个下标,如果可以,返回 true
;否则,返回 false
。
解题思路
我们从末尾倒着看,例如: [3,2,2,0,4]
。
初始需要跳跃的步数为cnt=0
,而最后一个元素4
是我们需要到达的终点,可以不用考虑,从0
开始。
- 元素
0
等于cnt
,无法跨越过去,于是需要跳跃的步数加1
,此时cnt=1
。继续下一个元素2
。 - 元素
2
大于cnt
,可以跨越元素0
,于是cnt
赋值 0 后重新计数。 - 遍历完所有元素后,判断需要跨越的步数是否等于 0,等于 0 则表示可以跨越到最后的元素;否则不能跨越到最后的元素。
class