class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @return bool布尔型
     */
    bool canJump(vector<int>& nums) {
        vector<int>jump;//表示跳跃的最远距离
        for(int i=0;i<nums.size();i++) jump.push_back(nums[i]+i);//给最远距离赋值
        int max_jump=jump[0];//表示中间可能出现的最远距离;
        int index=0;//索引从0开始
        while(index<nums.size()&&index<=max_jump){//如果索引超过数组长度或者超过最远距离时直接退出
             if(max_jump<jump[index])
                max_jump=jump[index];//最远距离更替
            index++;
        }
        if(index==nums.size())return true;
            else return false;
    }