class Solution:
def canJump(self, nums: List[int]) -> bool:
if not nums:
return False
n = len(nums)
result = n - 1
for i in range(n-1, -1, -1):
if i + nums[i] >= result:
result = i
if result == 0:
return True
else:
return False
class Solution:
def canJump(self, nums: List[int]) -> bool:
if not nums:
return False
n = len(nums)
maxReach = 0
for i in range(n):
if maxReach < i:
return False
maxReach = max(maxReach, i + nums[i])
return True
