55. Jump Game
You are given an integer array
nums
. You are initially positioned at the array's first index, and each element in the array represents your maximum jump length at that position.Return true
if you can reach the last index, or false
otherwise.
Example 1:
Input: nums = [2,3,1,1,4] Output: true
Example 2:
Input: nums = [3,2,1,0,4] Output: false
Note: I forgot to think about [0] case and also to break early when
maxReach already crossed lastIndex.
def canJump(self, nums: List[int]):
maxReach = 0
lastIndex = len(nums)-1
for i, jumpLen in enumerate(nums):
if maxReach >= lastIndex:
return True
if jumpLen == 0 and maxReach == i:
return False
maxReach = max(maxReach, i + jumpLen)
return True
Comments
Post a Comment