# Question

Formatted question description: https://leetcode.ca/all/55.html

55	Jump Game

Given an array of non-negative integers, you are initially positioned at the first index of the array.

Each element in the array represents your maximum jump length at that position.

Determine if you are able to reach the last index.

Example 1:

Input: [2,3,1,1,4]
Output: true
Explanation: Jump 1 step from index 0 to 1, then 3 steps to the last index.

Example 2:

Input: [3,2,1,0,4]
Output: false
Explanation: You will always arrive at index 3 no matter what. Its maximum
jump length is 0, which makes it impossible to reach the last index.

@tag-array
@tag-greedy



# Algorithm

Greedy Algorithm, because here is not very concerned about the number of remaining steps at each position, but only want to know whether we can reach the end, that is to say we are only interested in the farthest reachable position.

So we maintain a variable reach, represents the farthest reachable position, initialized to 0. Traverse each number in the array,

• if the current coordinate is greater than reach or reach has reached the last position, then jump out of the loop,
• otherwise update the value of reach to the larger value of i + nums[i], where i + nums[i] indicates the maximum position that the current position can reach.

Java