leetcode 45/55. Jump Game/ 2(跳跃游戏)

LeetCode刷题:Jump Game—跳跃游戏 45题&55题(贪心算法,回溯算法,动态规划) LeetCode刷题:45. Jump Game II LeetCode中有两道关于Jump Game的题目,分别是 45.Jump Game IIhttps://leetcode.com/problems/jump-game-ii/ 55. Jump Gamehttps://leetcode.com/problems/jump-game/ 这两道题目的差别在哪里呢?55题是判断你是... 阅读详情

Given an array of non-negative integers, you are initially positioned at the first index of the array.

Each element in the array represents your maximum jump length at that position.

Determine if you are able to reach the last index.

Example 1:

Input: [2,3,1,1,4]
Output: true
Explanation: Jump 1 step from index 0 to 1, then 3 steps to the last index.

给一个数组,每个元素是能走的最大步数,问从index 0开始走的话能否到达终点,
和45题类似,但是45题要求给出具体步数,先写55,再写45

思路:
greedy
初始位置在index=0处,这是最开始我们能到达的地方,用canReach=0表示,
然后从0出发,往后面走,沿途不断更新能到达的地方,canReach = i + nums[i].
如果canReach >= n-1就说明能到达最后的index,直接返回true.
反之,如果遍历完了也不能到达最后的index,返回false.

45题只需要在 i==curEnd的条件里count++就行了

    public boolean canJump(int[] nums) {
        int n = nums.length;
        int canReach = 0;

        for(int i = 0; i <= canReach; i++) {
            int nextDest = i + nums[i];
            if(nextDest >= n-1) return true;
            canReach = Math.max(canReach, nextDest);
        }
        return false;
    }

45题代码

    public int jump(int[] nums) {
        int cnt = 0;
        int n = nums.length;
        int canReach = 0;
        int curMax = 0;

        for(int i = 0; i <= canReach; i++) {
            if(i == n-1) return cnt;
            canReach = Math.max(canReach, i+nums[i]);
            if(i == curMax) {
                cnt ++;
                curMax = canReach;
            }
        }
        return cnt;
    }
LeetCode 45. 跳跃游戏 II | Python 使用贪心算法,从数组开始正向遍历,维护可跳跃最远的位置,确定边界,到达边界时,更新边界,增加跳跃次数,进而解决《45. 跳跃游戏 II》问题 阅读详情

相关推荐

ENVI哨兵一号数据处理

使用ENVI+SarScape处理哨兵数据

Rjjjjj11的博客 2万+

【leetcode刷题】45 & 55 jump game & jump game 2

原题链接 https://leetcode.com/problems/jump-game/ https://leetcode.com/problems/jump-game-ii/ 解题思路 两道题思路类似,都是用贪心算法。记录下跳i步时可以跳过的最大距离。但是注意,在确定第i+1步的最远距离时,需要考虑所有i-1步到i步之间范围起始点,跳两步寻找i+1步的最远距离。 对于jump game,当st...

Arwen的博客 154

别再瞎调了!手把手教你搞定STM32步进电机PID速度环(附完整代码与比例系数详解)

本文详细解析了STM32步进电机PID速度环的完整实现过程,从算法输出到脉冲频率的转换链路,重点讲解了比例系数的确定方法及系统标定实验。通过完整的代码示例和调试技巧,帮助工程师解决实际应用中的常见问题,提升步进电机控制精度与稳定性。

weixin_28729331的博客 215

[Week 7] LeetCode 45 & 55. Jump Game I & II

LeetCode 45 &amp; 55. Jump Game I &amp; II Jump Game I Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your ...

A_bigUncle的博客 336

Project 编制进度计划【项目管理】

Project 项目管理编制进度计划详解。

m0_52861684的博客 5089

openEuler 22.03 LTS SP4离线安装UKUI桌面全攻略(附依赖包下载)

本文提供openEuler 22.03 LTS SP4系统离线安装UKUI桌面环境的完整实战指南。针对无网络环境,详细解析了利用dnf工具下载依赖包、配置离线软件源、处理依赖冲突及安装后优化的全流程,并附带了关键依赖包资源,帮助运维人员高效完成图形化部署。

c7d8e9的博客 483

leetcode解题之45. Jump Game II&55. Jump Game java (跳跃游戏)

leetcode解题之45. Jump Game II&55. Jump Game java (跳跃游戏)。动态规划,贪心。

mine_song的博客 3720

UReport2 报表设计器 在线表格

UReport2官网 一、UReport2报表设计器 UReport2是一个开源的可视化报表设计器,功能强大,操作简单,可以实现复杂的报表统计,有各种各样的导出和打印功能,支持导入Excel表格! 1、报表设计器 2、设计一个简单的用户列表展示 二、可编辑表格 扩展了layui的表格,支持多元化数据编辑(单选,多些、日期、下拉联动),开发简单、高效、便捷。有了它就可以轻松开发类似进销存系统的表格录入功能了,用户拿来即用! 三、主从表录......

ejinxian的专栏 2万+

【LeetCode 45 55 1306】Jump Game I,II,III【JAVA】

跳跃游戏,合计三道题。 55. Jump Game 1. 题目 运行结果 45. Jump Game II 1. 题目: 运行结果 运行结果 1306. Jump Game III 1. 题目 运行结果

卤小蛋学编程 415

什么是三极管推挽电路

当没有信号输入时,电源通过PNP三极管EB间的二极管,然后通过NPN三极管BE间而二极管到地,这时这两个三极管都是导通的,三极管很容易由于电流过大而损坏。当输入信号为VCC时,上面的三极管导通,下面的三极管截止,输出信号为VCC-0.7V,这个0.7V就是上面NPN三极管BE间的导通压降。比如上面的三极管导通,那么输出电压就是输入电压减去0.7V,所以下面的PNP三极管由于基极电压大于发射极电压,是不会导通的。这是一个三极管推挽电路,上面是一个NPN的三极管,下面是一个PNP的三极管。

谢谢关注“小鱼教你模数电”,各平台同号 3373

大模型技术全景与核心概念解析:从基础原理到AI智能体架构(实时更新中)

本文系统解析了大模型技术的核心概念与架构。首先介绍了LLM(大语言模型)、LLMOps(模型运维)、AIGC(生成内容)、AGI(通用AI)等基础概念,重点阐述了大模型的工作原理,包括预处理、推理和后处理三个阶段。深入讲解了Token分词、FLOPs计算、Embedding向量表示等关键技术,并分析了LoRA微调、MoE架构等前沿方法。文章还探讨了AI智能体的发展前景,为理解大模型技术提供了全景视角。

算法工程师 1258

JAVA算法:Jump Game 45题和55题算法详解

在LeetCode中45题和55题是关于Jump Game的问题,下面来看看这两道题目的求解方法。 这两个题目的区别是:55题的要求判断你是否能够从开始位置跳到结束位置;而45题的要求是求你从开始位置能够跳到结束位置的最小跳跃次数。。 原题链接: 55.Jump Gamehttps://leetcode.com/problems/jump-game/ Given an array of...

梅森上校的博客 业精于勤荒于嬉,形成于思毁于随。 482

【UML】第12篇 序列图(1/2)——基本概念和构成

序列图(Sequence Diagram)是一种用于显示对象之间交互的图形化表示。它描述了在特定场景下,对象之间按照时间顺序进行的消息传递和协作过程。在序列图中,对象被表示为带有垂直虚线的矩形,虚线表示对象的生命周期。对象之间的交互通过箭头表示的消息来表示,箭头从一个对象的生命线指向另一个对象的生命线,表示消息的发送和接收。

AI人人懂 3053

Java描述 LeetCode,45. Jump Game II 跳跃游戏II

1-1:题目 Given an array of non-negative integers nums, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at that position. Your goal is to reach the last index in the minimum number of

人在江湖 784

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

LeetCode55&45.Jump Game

55.Jump Game 题目描述: 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。 示例 2: 输入: [3,2,1,0,4] 输出...

SNOWsama的博客 231

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LeetCode 45. 跳跃游戏 II(贪心/BFS,难)

1. 题目 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步, 然后跳 3 步到达数组的最后一个位置 假设你总是可以到达...

Michael是个半路程序员 1650

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【leetcode】(python)45. Jump GameII 跳跃游戏II

跳跃游戏IIDescriptionExample题意解题思路code 45. Jump Game II Hard Description Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array re...

。 395

leetcode 55. Jump Game & 45. Jump Game II

一 55 jump game Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at that position. ...

bohu83的博客 335

【LeetCode】解题55:Jump Game

LeetCode解题 55:Jump Game Problem 55: Jump Game [Medium]解题思路Solution (Java) Problem 55: Jump Game [Medium] Given an array of non-negative integers, you are initially positioned at the first index of the...

Fayedily的博客 288

【LeetCode】55. Jump Game 解题报告(Python)

题目分析: 这一题是让我们以某个数值位置跳跃,值为跳跃步数,看是否能跳跃到最后,与【LeetCode】45. Jump Game II 一样,还要简单一些,我们直接借助这个思路即可。思路就是从某个位置i+num[i]相加一直取大,看最后是否大于等于nums的length-1。 测试代码: class Solution: def canJump(self, nums): ne...

L141210113的专栏 643

LeetCode 55. 跳跃游戏(Jump Game)

易错点正确做法说明忘记检查当前位置是否可达需先判断判断能否跳到,但没记录需要更新全局最大可达值遍历到最后一个位置才判断结果一旦就可提前返回本题属于贪心算法入门题,是跳跃类题目的基础后续进阶版本:LeetCode 45(最少跳跃次数)LeetCode 1306(跳跃游戏 III,允许负数)

2501_91641025的博客 580

LeetCode 55. 跳跃游戏 45. 跳跃游戏 II 22. 括号生成 53. 最大子数组和

LeetCode 55. 跳跃游戏 45. 跳跃游戏 II 22. 括号生成 53. 最大子数组和

weixin_62275996的博客 740

LeetCode 55. 跳跃游戏(贪心)

1. 题目 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。 示例 2: 输入: [3,2,1,0,4] 输出: false 解释: 无论怎样,你总会到达索引为 3 的位...

Michael是个半路程序员 1480

【LeetCode-贪心】45. 跳跃游戏 II,55.跳跃游戏

我的题解:https://leetcode-cn.com/problems/jump-game-ii/solution/can-kao-guan-fang-jie-fa-xiang-xi-zhu-shi-by-zjf_/ /** 贪心算法-正向遍历,时间复杂度 O(n),空间复杂度O(1) */ public int jump(int[] nums) { // 定义最少步数,返回值 int steps = 0; // 定义当前边界。当行走在数组上的

止鱼 480

leetcode45.跳跃游戏II——学习笔记

题目:力扣https://leetcode-cn.com/problems/jump-game-ii/ class Solution { public int jump(int[] nums) { if(nums.length==1){ return 0; } return greedAlgorithm(nums); } private int greedAlgorithm(int[] nums){

Hokachi的博客 3184

55. Jump Game(跳跃游戏)

题目链接:https://leetcode.com/problems/jump-game/ 此题的思路同Leetcode45,jumpGame2。 Leetcode 45 就是用一个值来保存最大右边界,也是贪心的一种应用。 AC 3ms 100% Java: class Solution { public boolean canJump(int[] nums) { ...

God_Mood的博客 255
上一篇: leetcode 58. Length of Last Word
下一篇: leetcode 289. Game of Life(生命游戏)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值