leetcode55. 跳跃游戏

分析

nums[i]是表示当前位置所能跳的最大步数,那么到达最远处之前的地方都能到达,此时再在这些位置跳过去,所以只需要看最远的位置是否能到达数组末尾。

class Solution {
public:
    bool canJump(vector<int>& nums) {
        int s=0;
        for(int i=0;i<nums.size();i++){
            if(s<i)return false;
            s=max(s,nums[i]+i);
        }
        return true;
    }
};