贪心----3. 跳跃游戏 II

leetcode刷题记录 Union Find: Friend Circles: Union Find. I used weighting and path compression. Hash: Longest Consecutive Sequence Use Hash (in python it is set) to quickly judge whether an element is in a set. DFS: Knight Probability in Chessboard DFS. 阅读详情

45. 跳跃游戏 II - 力扣(LeetCode)

/**

        维护变量:

                max_reachable,遍历过的元素的最远可达位置

                end,当前区间终点(随max_reachable变化)

        遍历过程:

                遍历时迭代遍历过的元素最远可达位置,利用end记录当前区间终点(随max_reachable变化)

                当移动至end即当前区间终点时,需要更新end为新的max_reachable即下一个区间终点,同时步数+1

                直到end >= nums.length - 1,代表已经可以到达终点,可提前结束

                即,在遍历过程中将数组分为了不同的区间,当移动至end时当前区间结束,更新下一个区间终点为max_reachable,区间数即为最少需要的步数

                区间代表每步最多移动的位置

*/

class Solution {
    /**
        维护变量:
                max_reachable,遍历过的元素的最远可达位置
                end,当前区间终点(随max_reachable变化)
        遍历过程:
                遍历时迭代遍历过的元素最远可达位置,利用end记录当前区间终点(随max_reachable变化)
                当移动至end即当前区间终点时,需要更新end为新的max_reachable即下一个区间终点,同时步数+1
                直到end >= nums.length - 1,代表已经可以到达终点,可提前结束
                即,在遍历过程中将数组分为了不同的区间,当移动至end时当前区间结束,更新下一个区间终点为max_reachable,区间数即为最少需要的步数
                区间代表每步最多移动的位置
    */
    public int jump(int[] nums) {
        int maxReachable = 0;
        int end = 0;
        int jumps = 0;

        for(int i = 0; i < nums.length - 1; i++) {
            maxReachable = Math.max(maxReachable, i + nums[i]);

            if(i == end) {
                end = maxReachable;
                jumps++;
            }

            if(end >= nums.length - 1) {
                break;
            }
        }

        return jumps;
    }
}

力扣第79题:跳跃游戏 II 给定一个长度为n的整数数组nums。初始位置在下标 0。每个元素nums[i]表示从索引i向后跳转的最大长度。换句话说,如果你在索引i处,(i + j)i + j < n返回到达n - 1的。测试用例保证可以到达n - 1。2跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1步,然后跳 3 步到达数组的最后一个位置。2。 阅读详情

相关推荐

MIKE11实战:平原河网水动力建模从入门到精通(附GIS数据处理技巧)

本文系统介绍了MIKE11软件在平原河网水动力建模中的完整实战流程。从GIS数据预处理、河网构建、参数率定到结果分析,详细阐述了构建可靠数字孪生模型的关键步骤与技巧,旨在帮助水利工程师高效解决平原地区复杂水流模拟的挑战,为防洪决策提供科学依据。

weixin_28419039的博客 689

贪心3 跳跃游戏 II

【代码】贪心3 跳跃游戏 II。

m0_73570662的博客 257

VSCode配置C/C++开发环境:从零安装MinGW-w64并运行第一个C程序

在Windows系统上搭建C语言开发环境时,很多初学者混淆编辑器、编译器与调试器的分工,导致配置过程屡屡受挫。理解VSCode作为轻量级编辑器的定位,以及MinGW-w64提供的gcc编译器在源码编译中的核心作用,是顺利完成环境配置的关键。环境变量的正确设置直接影响gcc命令能否全局调用,而C/C++插件则赋予编辑器语法高亮与智能提示能力。通过安装VSCode、配置MinGW-w64、安装插件、汉化界面并运行一个最简单的hello.c程序,就能系统掌握这套开源工具链的完整工作流。无论是用于课程学习、算法练习

weixin_42531923的博客 533

力扣日记3.21【贪心算法篇】45. 跳跃游戏 II

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处:返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。示例 1:示例 2:提示: 复杂度 时间复杂度:O(n) 空间复杂度:O(1)

RobinChan730的博客 659

贝叶斯网络 (Bayesian Networks) 原理与代码实例讲解

贝叶斯网络 (Bayesian Networks) 原理与代码实例讲解 1. 背景介绍 1.1 什么是贝叶斯网络? 贝叶斯网络(Bayesian Networks)是一种基于概率论的图形模型,用于表示随机

AI天才研究院 1334

Coze 打通飞书多维表格,实现数据增删改查操作实战详解

基于Coze 打通飞书多维表实现数据录入系统实战详解

congge 5782

力扣刷题Day 79:跳跃游戏 II(45)

​方法1(反向贪心):倒着遍历nums[: n - 1],找到能够跳到nums[-1]的最小元素索引j,再倒着遍历nums[: j],找到能够跳到nums[j]的最小元素索引,依次类推,直到最小元素索引为0,得到最小跳跃次数。 方法2(正向贪心):遍历nums[: n - 1],找到能够跳到nums[-1]的最小元素索引j,再遍历nums[: j],找到能够跳到nums[j]的最小元素索引,依次类推,直到最小元素索引为0,得到最小跳跃次数。 方法3(灵茶山艾府佬的建桥思路,真正的贪心,推荐):

qq_52643100的博客 418

uniapp [全端兼容] - 详细实现全局修改设置字体大小功能效果,统一修改页面字号字体大小,一键改变字号整个项目立即生效,大中小字号预设、老年人大字模式场景,uniApp全平台兼容控制页面字号大小

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,修改字体大小,一键调整UniApp字体大小,实时改变不用刷新,动态设置字体大小,uniapp全局修改字体字号大小,如何控制全局字号,可调整显示的字体,全项目生效,老年人大字模式,改变所有页面的字体,全局设置字体大小,实现小中大的字体切换,设置改变全局字体大小功能,如何做到全平台兼容,H5APP实现全局字体大小调整,不兼容报错,用户设置字号,全局设置应用字体大小,大中小字体修改,页面设置page-me

🏆 前端领域优质创作者 1万+

hot100—79.跳跃游戏II

链接:https://leetcode.cn/problems/jump-game-ii/solutions/2926993/tu-jie-yi-zhang-tu-miao-dong-tiao-yue-yo-h2d4/我在larger_next_right这座桥上,走到less_next_right位置时也能获取到,而且还能进一步尝试寻找更远的next_next_right。// 更新可移动区间的左端点和右端点。动态规划(入门/背包/状态机/划分/区间/状压/数位/数据结构优化/树形/博弈/概率期望)

2302_80434765的博客 938

WblockCloneObjects克隆一个图纸内的实体包括块参照,同名块参照的处理

public static void HeBingTu2(double lieJu, List<string> filePaths) { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (DocumentLock docLock = doc.Lock...

1108

【PowerBI专栏】PowerBI导入MYSQL数据库

本文介绍了在PowerBI中连接MySQL数据库的方法。首先需要下载并安装MySQL官方.NET连接驱动(推荐8.4.0版本),安装完成后重启PowerBI。连接时需填写服务器IP和数据库名称等必填参数。文章详细说明了连接配置步骤,包括账户设置、数据表选择以及可能遇到的数据格式转换问题处理。最后指导用户完成数据清洗后进入PowerPivot进行后续计算。特别提醒最新9.4版本可能存在兼容性问题,建议使用稳定的8.4版本连接器。

技术与管理的平衡木- 696

3.<tag-贪心算法的简单应用>lt.55. 跳跃游戏 + lt.45. 跳跃游戏 II 0.5 dbc

3.<tag-贪心算法的简单应用>lt.55. 跳跃游戏

菜菜的大数据开发の路 624

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

算法学习|贪心算法 LeetCode122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II

LeetCode122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II

li26324949的博客 372

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

LeetCode 55. 跳跃游戏(M)/ 45.(最少次数)跳跃游戏 II(M)/ 1345.(虫洞跳跃,最少次数)跳跃游戏 IV(H)/ 656.(花费最少的)金币路径(Hard)

【题目链接】 题解 跳跃游戏 思路 代码 class Solution: ### 0104 贪心策略(44 ms,15.9 MB) def canJump(self, nums: List[int]) -> bool: right_most, n = 0, len(nums) # 遍历数组,更新能够达到的最远处 for i in range(n): # 若可以到达第i个数 if .

newCraftsman的博客 284

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

力扣记录:贪心算法3较难(1)区间问题——55 跳跃游戏,45 跳跃游戏II,452 用最少数量的箭引爆气球,435 无重叠区间,763 划分字母区间,56 合并区间

力扣记录:贪心算法3较难(1)区间问题——55 跳跃游戏,45 跳跃游戏II,452 用最少数量的箭引爆气球,435 无重叠区间,763 划分字母区间,56 合并区间

Kiwi_fruit的博客 282

力扣 : 45. 跳跃游戏 II

跳到[1] , 也就是2 , 它下一步可以跳到 下标 2+[1] = [3]跳到[2] , 也就是3 , 它下一步可以跳到 下标 3+[2] = [5]跳到[3] , 也就是0 , 它下一步可以跳到 下标 0+[3] = [3]就选 跳到[2] , 这样可以跳的最远,下一次选择的机会也多。贪心找可以跳的范围里 这些点最远可以跳到哪里 , 跳的越远选择机会越多。用next记录 可以跳的范围内 最远可以跳到哪里。从[0] 开始 : 可以跳到 3。

punchlinezhy的博客 278

代码随想录算法训练营第三十二天 | 122.买卖股票的最佳时机II,55. 跳跃游戏,45.跳跃游戏II

【代码】代码随想录算法训练营第三十二天 | 122.买卖股票的最佳时机II,55. 跳跃游戏,45.跳跃游戏II。

qq_42775328的博客 321

LeetCode刷题day49

LeetCode刷题day49

LXYDSF的博客 6414

练习题(2024/4/22)

我们维护一个变量。

m0_74859128的博客 1205

leetcode刷题记录35(2024-3-19)【传递信息(dfs、multimap) | 发 LeetCoin(线段树) | 移除元素(双指针) | 跳跃游戏 II(贪心)】

leetcode刷题记录35(2024-3-19)【传递信息(dfs、multimap) | 发 LeetCoin(线段树) | 移除元素(双指针) | 跳跃游戏 II(贪心)】

你的问题在于,读书太少而想得太多。 1286

LeetCode:45. Jump Game II - Python

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

Growth Diary 1037

leet45. 跳跃游戏 II & 贪心算法

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

Happy_Yu_Life的博客 315

【算法提高班】贪婪策略

贪婪策略是一种常见的算法思想,具体是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关,这点和动态规划一样。 LeetCode 上对于贪婪策略有 73 道题目。我们将其分成几...

azl397985856的专栏 4321

【贪心算法】leetcode55跳跃游戏贪心算法和动态规划

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

qq_38391210的博客 240

跳跃游戏 II - 贪心算法解法

继续进步,继续加油,简单易懂的贪心算法,你值得拥有!

W_L_MM的博客 2445
上一篇: 贪心----2.跳跃游戏
下一篇: 贪心----4.划分字母区间
码破苍穹ovo
博客等级 码龄2年 377粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值