zoukankan      html  css  js  c++  java
  • 2021.4.16-刷题(跳跃游戏)

    题目链接:https://leetcode-cn.com/problems/jump-game
    题目描述:
    给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。

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

    判断你是否能够到达最后一个下标。

    示例 1:
    输入:nums = [2,3,1,1,4]
    输出:true
    解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。

    示例 2:
    输入:nums = [3,2,1,0,4]
    输出:false
    解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。

    题解:
    不用纠结每次跳几步,而是看覆盖范围,覆盖范围内一定是可以跳的,不用管是怎么跳的。

    
    class Solution {
    public:
        bool canJump(vector<int>& nums) {
            int cover = 0;   //覆盖范围
            if(nums.size() == 1) 
                return true;
            for(int i = 0; i <= cover; i++)
            {
                cover = max(cover, nums[i] + i);
                if(cover >= nums.size() - 1)
                    return true;
            }
            return false;
        }
    };
    
    
  • 相关阅读:
    java.lang.NoSuchMethodError:antlr.collections.AST.getLine() I
    T7 java Web day01 标签HTML
    T6 s1 day19
    T5 s5 Day18
    T5 s4 Day 17
    T5 s3 day16
    T5 s2 Day 15
    T5 s1 day14
    T4 S03 day 12
    T4 S01 day1
  • 原文地址:https://www.cnblogs.com/ZigHello/p/14666532.html
Copyright © 2011-2022 走看看