news 2026/5/12 0:42:19

LeetCode热题100--55. 跳跃游戏--中等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode热题100--55. 跳跃游戏--中等

题目

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。

示例 1:
输入:nums = [2,3,1,1,4]
输出:true
解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。

示例 2:
输入:nums = [3,2,1,0,4]
输出:false
解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。

题解

classSolution{publicbooleancanJump(int[]nums){intmx=0;for(inti=0;mx<nums.length-1;i++){if(i>mx){// 无法到达 ireturnfalse;}mx=Math.max(mx,i+nums[i]);// 从 i 最右可以跳到 i + nums[i]}returntrue;}}

解析

出自:两种理解方式:维护最右可达位置/合并区间(Python/Java/C++/C/Go/JS/Rust)

classSolution{//定义一个新的解决方案类publicbooleancanJump(int[]nums){//布尔方法canJump输入一个整型数组nums,用于判断是否可以到达最后一个索引intmx=0;//初始化mx为0。它将用于跟踪我们可以跳到的最远的距离for(inti=0;mx<nums.length-1;i++){//我们遍历整个数组直到我们的“最右”超过或等于数组长度(但不包括长度的最后一个元素,因为我们已经在数组的末尾了)if(i>mx){//如果我们在当前这个点之前无法到达returnfalse;//那么就返回false表示我们无法到达最后一个索引}mx=Math.max(mx,i+nums[i]);//否则,将我们的“最右”更新为旧的“最右”和当前位置加上你可以跳过的最大距离(nums[i])之间的较大值。这样确保了我们总是尽可能地向前走returntrue;//如果没有任何一个点阻挠我们跳过,那么无论如何都可以到达最后一个索引。所以返回true}//这个解决方案的时间复杂度为O(n),其中n是输入数组的长度。空间复杂度也为O(1),因为我们只使用了常量的额外空间来保存mx变量。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 3:42:46

没有中兴的智谱,被民间华强北盯上了

开源之后&#xff0c;市场能拼出一部“AI手机”吗&#xff1f;作者|王浩然编辑|古廿最近智谱的广告出现在机场广告牌&#xff0c;打出了一整套AI叙事的新标签&#xff1a;“有的AI&#xff0c;提供情绪价值”“智谱AI&#xff0c;提供商业价值”。配合上醒目的LOGO&#xff0c;…

作者头像 李华
网站建设 2026/5/9 16:49:22

《#{} vs ${}:MyBatis 里这俩符号,藏着性能与安全的 “生死局”》

1.多表查询多表查询和单表查询类似,只是SQL不同⽽已数据准备&#xff1a;对应Model:数据查询SQL:补充实体类:接⼝定义:字段与实体类属性不一致的解决方式&#xff1a;当数据库字段名与实体类属性名不匹配时&#xff0c;可通过ResultMap&#xff08;自定义映射关系&#xff09;或…

作者头像 李华
网站建设 2026/5/6 3:05:00

基于单片机的可变色灯泡的设计

基于单片机的可变色灯泡的设计 第一章 引言 随着智能家居产业的快速发展&#xff0c;传统照明设备已难以满足用户对个性化、智能化照明的需求。传统灯泡颜色固定、亮度调节不便&#xff0c;无法适配不同场景的照明需求&#xff0c;而市面上的智能灯泡多依赖复杂控制系统&#x…

作者头像 李华
网站建设 2026/5/9 15:33:09

实战:用Splash搞定JavaScript密集型网页渲染

免费编程软件「pythonpycharm」 链接&#xff1a;https://pan.quark.cn/s/48a86be2fdc0一、为什么需要Splash&#xff1f;传统爬虫遇到动态网页时总会抓狂。明明URL能打开&#xff0c;但爬下来的页面全是空白或乱码——这是因为现代网站大量使用JavaScript动态加载内容&#xf…

作者头像 李华
网站建设 2026/4/28 22:02:09

程序员职场生存图鉴,真防御性编程

1.需求无限确认狂魔想当初&#xff0c;因为没有问清楚&#xff0c;自己通宵实现的功能被推翻重做&#xff0c;产品经理说“我以为你懂我的意思”。2.预估时间要X33.考古注释不要删“代码可以下线&#xff0c;但历史必须存档。”注释是写给未来自己和接盘侠的《灾难逃生指南》。…

作者头像 李华