1. 程式人生 > >LintCode-跳躍遊戲

LintCode-跳躍遊戲

給出一個非負整數陣列,你最初定位在陣列的第一個位置。   

陣列中的每個元素代表你在那個位置可以跳躍的最大長度。    

判斷你是否能到達陣列的最後一個位置。

樣例

A = [2,3,1,1,4],返回 true.

A = [3,2,1,0,4],返回 false.

分析:遍歷一遍,記錄可走的點可以達到的最遠點

程式碼:

class Solution {
public:
    /**
     * @param A: A list of integers
     * @return: The boolean answer
     */
    bool canJump(vector<int> A) {
        // write you code here
        int maxN = 0;
        int i = 0;
        while(i<=maxN)
        {
            maxN = max(maxN,i+A[i]);
            i++;
            if(maxN>=A.size()-1)
                return true;
        }
        return false;
    }
};