Python
class Solution(object):
def canJump(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
start = 0
end = 0
n = len(nums)
while start <= end and end < len(nums) - 1:
end = max(end, nums[start] + start)
start += 1
return end >= n - 1