2025-06-03 20:23:08 -07:00

16 lines
375 B
Python

def canJump(self, nums: list[int]) -> bool:
n = len(nums)
if n == 1:
return True
if nums[0] == 0:
return False
dp = [False] * n
dp[n - 1] = True
for idx in range(n - 2, -1, -1):
for reach in range(0, nums[idx]):
if dp[idx + reach + 1] == True:
dp[idx] = True
break
return dp[0]