LeetCode55——Jump Game

对于长度为5的数组,当前位置为0则至少需要4步到尾。条件为curValue + curPos >= nums.size() - 1。需要注意的是在循环内的max必须先判断为不为0然后再-- 以防出现[0,1]这种情况。

class Solution
{
public:
    bool canJump(vector<int>& nums)
    {
        int max = nums[0];
        if(nums.size() == 0 || nums.size() == 1)
        {
            return true;
        }
        for(int i = 1;i != nums.size();++ i)
        {
            if(max == 0)
            {
                return false;
            }
            max --;
            if(nums[i] > max)
            {
                max = nums[i];
            }
            if(max + i >= nums.size() - 1)
            {  
                return true;
            }
        }
    }
};
原文地址:https://www.cnblogs.com/thewaytomakemiracle/p/5070586.html