Description
Each item in the array is how far you can jump from it. Are you able to jump all the way to the right? :: Take the max dist and increase it if the current value is higher
Greedy problem.
Runtime
O(n)
Pseudocode
maxes = [nums[0]]
for n in nums[1:]:
if maxes[-1] == 0: return False
maxes.append(max(maxes[-1]-1, n))
return True