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

LeetCode 55.跳跃游戏

时间:2024-03-22 23:29:43浏览次数:19  
标签:返回 远距离 下标 55 true 跳跃 倒数 maxdistance LeetCode

题目:

方法一

给定数组中,每一位都可以确定出他所能跳到的最远距离(nums[i]+i)

当然,前提是当前该位能够由前面的位置跳到

我们可以定义一个总的最远距离(maxdistance)来记录

(最远距离:当前能够到达的最大下标值)

如果当前位置能够被跳到且其所能跳到的最远距离大于maxdistance,那么更新maxdistance

若最终最远距离大于或等于最后一个元素下标则返回true

代码:

方法二

思路:

我们可以从后面往前遍历,不断更新目标;

(目标:我们返回true需要到达的位置)

(原本的目标值为最后一位,如果倒数第二位能够跳到目标,那么我们只需跳到倒数第二位即可,故目标值更新为倒数第二位)

如果最终目标为0,则返回true

(表示我们只需跳到下标为0便返回true)

更新的依据:当前下标i及对应值nums【i】之和大于或等于目标

代码:

标签:返回,远距离,下标,55,true,跳跃,倒数,maxdistance,LeetCode
From: https://blog.csdn.net/lyy_222/article/details/136851268

相关文章

  • LeetCode刷题记录——day4
    https://leetcode.cn/problems/trapping-rain-water/description/?envType=study-plan-v2&envId=top-interview-150对于一个可以构成“碗”的序列,最后装满水的话应该和最短的一边齐平,那么可以左右各遍历一次,记录每个元素位置对应的最短边高度,再对比就可以得出左右哪边最短class......
  • 【LeetCode-153.寻找旋转排序数组的最小值】
    已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums=[0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0],a[1],a[2],...,a[n-1......
  • P1055 [NOIP2008 普及组] ISBN 号码
    P1055[NOIP2008普及组]ISBN号码[NOIP2008普及组]ISBN号码题目描述每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括\(9\)位数字、\(1\)位识别码和\(3\)位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号),最后一位是识别码,例如0-6......
  • 算法打卡day25|回溯法篇05|Leetcode 491.递增子序列、46.全排列、47.全排列 II
     算法题Leetcode491.递增子序列题目链接:491.递增子序列大佬视频讲解:递增子序列视频讲解 个人思路和昨天的子集2有点像,但昨天的题是通过排序,再加一个标记数组来达到去重的目的。而本题求自增子序列,是不能对原数组进行排序的,因为排完序的数组都是自增子序列了。解决......
  • Live555开源项目(1)----初步介绍
    Live555开源项目(1)----初步介绍小雨爱民谣的程序员 23人赞同了该文章Live555背景介绍:首先live555是一个开源项目,是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现......
  • C++流媒体开源库Live555详细介绍
    C++流媒体开源库Live555详细介绍C语言资深大师  5人赞同了该文章1、Live555简介Live555是一个为流媒体提供解决方案的跨平台的C++开源项目,它使用了RTP/RTCP、RTSP、SIP开放标准协议,实现了标准流媒体传输。Live555实现了对多种音视频编码格式的音视频......
  • 【C++ leetcode】双指针问题
    1.  611.有效三角形的个数题目给定一个包含非负整数的数组nums,返回其中可以组成三角形三条边的三元组个数。题目链接.-力扣(LeetCode)画图和文字分析判断是否是三角形要得到三边,由于遍历三边要套三层循环,时间复杂度很大,所以这里我们需要借助双指针思想,可......
  • leetcode148. 排序链表-归并法
    148.排序链表题干给你链表的头结点head,请将其按升序排列并返回排序后的链表。示例1:输入:head=[4,2,1,3]输出:[1,2,3,4]示例2:输入:head=[-1,5,3,4,0]输出:[-1,0,3,4,5]示例3:输入:head=[]输出:[]提示:链表中节点的数目在范围[0,5*104]内-105<=N......
  • Leetcode 多数元素
    Day8第一题解题思路:数组中的数a出现次数若超过n/2,则排序后处于中间位置的元素一定是a。importjava.util.*;classSolution{publicintmajorityElement(int[]nums){//如果他超过n/2,则排序后处于中间位置。intn=nums.length;Arrays.......
  • UVA557 Burger 题解
    UVA557Burger题目大意称一个长度为\(n\)的01串是好的,当且仅当\(0\)和\(1\)在该串中分别出现恰好\(\fracn2\)次,且该串的最后两位相同。现给定\(n\)(\(n\)为偶数),求该串是好的的概率。Solve正难则反,考虑求出最后两位不同的概率。令\(m=\fracn2\),那么条件“最后......