Skip to content

Latest commit

 

History

History

55

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

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.

Companies:
Facebook, Apple, Microsoft

Related Topics:
Array, Greedy

Similar Questions:

Solution 1. Greedy

// OJ: https://leetcode.com/problems/jump-game/
// Author: github.com/lzl124631x
// Time: O(N)
// Space: O(1)
class Solution {
public:
    bool canJump(vector<int>& A) {
        for (int i = 0, last = 0; i <= last; ++i) {
            last = max(last, i + A[i]);
            if (last >= A.size() - 1) return true;
        }
        return false;
    }
};