leetcode 55. 跳跃游戏

    技术2022-07-10  106

    题目

    给定一个非负整数数组,你最初位于数组的第一个位置。

    数组中的每个元素代表你在该位置可以跳跃的最大长度。

    判断你是否能够到达最后一个位置。

    示例

    输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。

    思路

    1 暴力贪心,维护当前能到达的最远位置,若当前位置不可达,则失败。

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