首页 > 其他分享 >leetcode-55. 跳跃游戏

leetcode-55. 跳跃游戏

时间:2022-10-14 14:36:14浏览次数:52  
标签:nums 55 位置 距离 int 当前 跳跃 leetcode 最远

每一次起跳看看能否到达下一位置

  • 设置k为每次起跳最远能到哪里

  • 循环遍历,i为当前所在格子,每次判断一下k能否达到当前格子

  • 每次循环维护k,k一直为能最远跳到的距离,取上次k当前格子+当前能跳到最远的距离的最大值。

public boolean canJump(int[] nums) {
        int k = 0; //跳完最远能到那
        for(int i = 0; i < nums.length; i++){
            if(i > k){
                return false;//如果当前的位置超过了跳完最远的位置,直接返回false
            }
            k = Math.max(k, i + nums[i]); //维护跳完最远的距离,取(上一次最远能到的距离,现在所在的位置+能跳的距离也就是这一次能跳到的位置)的最大值
        }
        return true;
    }

 

标签:nums,55,位置,距离,int,当前,跳跃,leetcode,最远
From: https://www.cnblogs.com/phonk/p/16791508.html

相关文章

  • [译] PEP 255--简单的生成器
     我正打算写写Python的生成器,然而查资料时发现,引入生成器的PEP没人翻译过,因此就花了点时间翻译出来。如果在阅读时,你有读不懂的地方,不用怀疑,极有可能是我译得不到位。......
  • Leetcode 合集 -- 排列问题&&递归
    题目1子集2思路代码题目2全排列2思路代码题目3排列总和思路代码题目4排列总和2思路代码......
  • LeetCode 1114. Print in Order
    原题链接在这里:https://leetcode.com/problems/print-in-order/题目:Supposewehaveaclass:publicclassFoo{publicvoidfirst(){print("first");}public......
  • LeetCode 1115. Print FooBar Alternately
    原题链接在这里:https://leetcode.com/problems/print-foobar-alternately/题目:Supposeyouaregiventhefollowingcode:classFooBar{publicvoidfoo(){f......
  • leetcode每日一题:940.不同的子序列Ⅱ
    题目描述给定一个字符串s,计算s的不同非空子序列的个数。因为结果可能很大,所以返回答案需要对10^9+7取余。字符串的子序列是经由原字符串删除一些(也可能不删除)字......
  • leetcode必备算法:聊聊滑动窗口
    前言我们刷leetcode的时候,经常会遇到滑动窗口类型题目。滑动窗口问题非常经典,也很有技巧性,一般大厂也喜欢问。今天跟大家一起来学习滑动窗口的套路,文章如果有不正确的地方,......
  • LeetCode 1116. Print Zero Even Odd
    原题链接在这里:https://leetcode.com/problems/print-zero-even-odd/题目:Youhaveafunction printNumber thatcanbecalledwithanintegerparameterandprints......
  • leetcode-62. 不同路径 初级dp
    62.不同路径首先,机器人每次走路只能向下或者向右走一步根据网格是m*n,初始化动态规划数组,dp[m][n],那么如果机器人走到i,j位置,有多少种情况呢?首先分成子问题,机器人怎么走......
  • 【算法训练营day2】LeetCode977. 有序数组的平方 209. 长度最小的子数组 59. 螺旋矩阵
    【算法训练营day2】LeetCode977.有序数组的平方209.长度最小的子数组59.螺旋矩阵IILeetCode977.有序数组的平方题目链接:977.有序数组的平方初次尝试上来看到建......
  • 刷题 LeetCode 977 209 59
    代码随想录LeetCode977 有序数组的平方carl数组#双指针思路利用有序条件,新的大值在旧数组的两端产生,因此考虑相向指针细节涉及3个指针,注意每个指针的更新时机......