Given an array of non-negative integers, you are initially positioned at the first index of the array.
Each element in the array represents your maximum jump length at that position.
Your goal is to reach the last index in the minimum number of jumps.
For example:
Given array A = [2,3,1,1,4]
The minimum number of jumps to reach the last index is 2. (Jump 1 step from index 0 to 1, then 3 steps to the last index.)
Note:
You can assume that you can always reach the last index.
Have you met this question in a real interview?
Yes
No
class Solution(object):
def jump(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
count = 0
last = 0
reach = 0
for i in range(len(nums)):
if i > last:
last = reach
count += 1
reach = max(reach, i + nums[i])
return count

解释了如何通过遍历数组并使用跳跃算法找到从数组第一个元素到最后一个元素的最短路径,通过优化跳跃范围来减少跳跃次数。
1034

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



