news 2026/4/16 17:24:35

力扣hot100:跳跃游戏||

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣hot100:跳跃游戏||

题目描述:

思路分析:

本题依旧是贪心思想,通过局部最优找全局最优。

本题局部最优就是在当前可到达范围内选择能跳的更远的那个点,通过不断选择范围内能跳的最远的点来获得全局的最少跳跃次数。

整体过程从数组起点开始向前遍历,用一次遍历来模拟跳跃过程。遍历过程中,始终维护两个关键信息:当前这一步能够到达的最远位置(end),以及在当前范围内,下一步能够到达的最远位置(maxpos)

在遍历到每一个位置时,都会尝试利用该位置的跳跃能力,去更新“下一步最远能到达的位置”。这样可以保证,在不增加跳跃次数的前提下,尽可能扩大下一次跳跃的覆盖范围。

当遍历位置到达当前这一步的最远边界时,说明这一跳所能利用的所有位置已经全部考虑完毕,此时必须进行一次新的跳跃。跳跃次数加一,同时将当前可达范围更新为之前计算好的下一步最远位置,继续向前推进。

通过这种方式,每一次跳跃都不是立即决定跳到哪个具体位置,而是先在当前范围内进行“最优扩展”,等到必须跳的时候,再统一更新范围并计数。不断重复这一过程,最终覆盖到数组的最后一个位置,从而得到最少的跳跃次数。

代码:

class Solution { public int jump(int[] nums) { int len=nums.length; int end=0; int maxpos=0; int step=0; for(int i=0;i<len-1;i++){ maxpos=Math.max(maxpos,i+nums[i]); if(i==end){ end=maxpos; step++; } } return step; } }

为什么循环条件是i < len - 1?

因为代码在遍历过程中一旦到达当前可达边界就会统计一次跳跃,而当已经到达数组最后一个位置时,实际上不需要再进行任何跳跃,如果循环遍历到len - 1,就有可能在终点位置多计算一次跳跃次数。因此只遍历到len - 2,也就是使用i < len - 1,可以保证只在“还需要继续向前推进”的情况下才统计跳跃次数,避免结果偏大。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 16:12:28

ImageGlass完全指南:重新定义Windows图片浏览体验的高性能利器

ImageGlass完全指南&#xff1a;重新定义Windows图片浏览体验的高性能利器 【免费下载链接】ImageGlass &#x1f3de; A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 还在为Windows自带图片查看器的功能限制而苦恼吗…

作者头像 李华
网站建设 2026/4/15 17:24:01

BabelDOC智能翻译神器:3分钟搞定PDF文档格式完美转换

BabelDOC智能翻译神器&#xff1a;3分钟搞定PDF文档格式完美转换 【免费下载链接】BabelDOC Yet Another Document Translator 项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC 还在为阅读英文PDF论文而头疼吗&#xff1f;BabelDOC这款智能文档翻译工具&…

作者头像 李华
网站建设 2026/4/16 14:33:08

从零开始:Chatbox开源AI桌面客户端5步上手指南

从零开始&#xff1a;Chatbox开源AI桌面客户端5步上手指南 【免费下载链接】chatbox Chatbox是一款开源的AI桌面客户端&#xff0c;它提供简单易用的界面&#xff0c;助用户高效与AI交互。可以有效提升工作效率&#xff0c;同时确保数据安全。源项目地址&#xff1a;https://gi…

作者头像 李华
网站建设 2026/4/9 12:39:08

基于WMSST结合MCNN-BiGRU的故障诊断研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

作者头像 李华
网站建设 2026/4/16 14:05:48

用YOLOv13镜像搭建校园安防系统,全过程分享

用YOLOv13镜像搭建校园安防系统&#xff0c;全过程分享 1. 引言&#xff1a;为什么选择YOLOv13构建智能安防&#xff1f; 你有没有想过&#xff0c;一个能实时识别陌生人、检测异常行为、自动报警的校园安防系统&#xff0c;其实可以自己动手搭建&#xff1f;这不再是科幻电影…

作者头像 李华
网站建设 2026/4/1 19:40:04

从0开始学大模型:Qwen3-1.7B新手入门全攻略

从0开始学大模型&#xff1a;Qwen3-1.7B新手入门全攻略 你是不是也对大模型跃跃欲试&#xff0c;但一想到动辄几十GB显存、复杂配置就望而却步&#xff1f;别担心&#xff0c;今天我们就来手把手带你用仅1.7B参数的轻量级大模型 Qwen3-1.7B&#xff0c;完成从零到第一次调用的…

作者头像 李华