力扣 55. 跳跃游戏

题目来源:https://leetcode.cn/problems/jump-game/description/

力扣 55. 跳跃游戏_第1张图片

C++题解(来源代码随想录):不断更新可覆盖范围,能达到最后一个元素即返回true,否则返回false。

class Solution {
public:
    bool canJump(vector& nums) {
        int cover = 0;
        if (nums.size() == 1) return true; // 只有一个元素,就是能达到
        for (int i = 0; i <= cover; i++) { // 注意这里是小于等于cover
            cover = max(i + nums[i], cover);
            if (cover >= nums.size() - 1) return true; // 说明可以覆盖到终点了
        }
        return false;
    }
};

贪心问题能想清楚真的很重要!

你可能感兴趣的:(开始C++吧,leetcode,算法,c++,贪心算法)