leecode第五十五题(跳跃游戏)

class Solution {
public:
    bool canJump(vector<int>& nums) {
        int len=nums.size();
        if(len==1)//边界边界边界!
            return true;
        
        int max_bianjie=nums[0];//设置一个边界,初始化为0+nums[0]
        for(int i=0;i<max_bianjie;i++)
        {
            if(i+1+nums[i+1]>max_bianjie)//如果i+1在边界内,且i+1+nums[i+1]>max_bianjie,更新边界
                max_bianjie=i+1+nums[i+1];
            
            if(max_bianjie>=len-1)//如果边界出现溢出,则返回true
                return true;
        }
        return false;
    }
};

分析:

手感还是很差。

原文地址:https://www.cnblogs.com/CJT-blog/p/11212398.html