首页 > 试题广场 >

【编程题】给出一个非负整数数组,你最初定位在数组的第一个位置

[问答题]

【编程题】给出一个非负整数数组,你最初定位在数组的第一个位置,数组中的每个元素的值代表你在那个位置可以跳跃的最大长度。判断你是否能到达数组的最后一个位置。

例如:A = [2,3,1,1,4],返回 true

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

    bool canJump(vector<int> A) {
        // write you code here
           if(A.size()==1) return true;
        if(A[0]==0) return false;
        int m=A[0];
        for(int i=0;i<A.size();i++){
            if(i>m) return false;
            if(i+A[i]>m)
                m=i+A[i];
            if(m>=A.size()-1)
                return true;
        }
    }

发表于 2018-07-24 13:16:14 回复(0)