LeetCode 45 跳跃游戏Ⅱ
题目
给定一个长度为 n
的 0 索引整数数组
nums
。初始位置为 nums[0]
。
每个元素 nums[i]
表示从索引 i
向前跳转的最大长度。换句话说,如果你在 nums[i]
处,你可以跳转到任意 nums[i + j]
处:
0 <= j <= nums[i]
i + j < n
返回到达 nums[n - 1]
的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]
。
示例 1:
1 |
|
示例 2:
1 |
|
提示:
1 <= nums.length <= 104
0 <= nums[i] <= 1000
- 题目保证可以到达
nums[n-1]
题解
这题其实是可以借助55 跳跃游戏
的思路。因为这里需要的是最少的跳数,而且绝对可达,需要做额外的处理为:需要一个额外的变量end
记录先前(上一次)可抵达的最大距离,当i == end
,就意味着我们已经到了可以抵达的最远距离,就需要更新end
并且自增跳数。
1 |
|
LeetCode 45 跳跃游戏Ⅱ
https://excelius.xyz/leetcode-45-跳跃游戏ⅱ/