news 2026/5/4 13:40:03

跳跃游戏 | 贪心算法最优解(LeetCode经典题)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
跳跃游戏 | 贪心算法最优解(LeetCode经典题)

跳跃游戏 | 贪心算法最优解(LeetCode经典题)

题目描述

给定一个非负整数数组nums,你最初位于数组的第一个下标。数组中每个位置的元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达数组的最后一个下标,能则返回true,不能则返回false

核心特征分析

  1. 处理对象为数组类问题,这类问题通常可优先考虑动态规划或贪心算法解决;
  2. 题目中“每个位置的元素代表能跳跃的最大长度”是贪心算法的典型应用特征——无需关注具体跳跃路径,只需聚焦“能到达的最远范围”即可验证可行性。

算法选择与思路

算法选择

本题仅需验证“能否到达最后一个下标”的可行性,无需罗列具体跳跃路径,因此选择贪心算法是最优解(相比动态规划,贪心算法时间复杂度相同且空间复杂度更低)。

贪心算法核心思路

  1. 维护变量max_length,表示当前能到达的最大索引位置;
  2. 遍历数组中的每个索引i
    • 若当前索引i超过max_length,说明无法到达该位置,直接返回false
    • 更新max_lengthmax(max_length, i + nums[i])(当前能到达的最远位置 = 历史最远位置 和 当前位置可跳最远位置 的较大值);
    • max_length已≥数组最后一个索引,说明能到达终点,直接返回true
  3. 遍历结束后,兜底判断max_length是否≥数组最后一个索引(适配数组长度为1等边界场景)。

完整解题代码

classSolution{public:boolcanJump(vector<int>&nums){intn=nums.size();intmax_length=0;for(inti=0;i<n;i++){if(i>max_length)returnfalse;max_length=max(max_length,i+nums[i]);if(max_length>=n-1)returntrue;}returnmax_length>=n-1;}};

复杂度分析

  • 时间复杂度:O(n)。仅需遍历一次数组,n为数组长度;
  • 空间复杂度:O(1)。仅使用常数级额外空间(max_lengthni三个变量)。

总结

  1. 跳跃游戏可行性验证的核心是维护“能到达的最远索引”,贪心算法是该问题的最优解法;
  2. 遍历中提前终止判断(无法到达当前索引/已确认能到终点时直接返回),可提升实际执行效率;
  3. 该解法时间复杂度 O(n)、空间复杂度 O(1),是本题的最优解。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/2 11:07:02

Clawdbot的安装及使用

Clawdbot已经改成叫Moltbot了&#xff0c;因为原因很简单&#xff0c;被Anthropic告了&#xff0c;Anthropic认为Clawdbot这个名字太容易被市场误解为Claude Code的延展产品&#xff0c;所以改名了。 MacMini也因为Clawdbot请了一波库存。 Moltbot (Clawdbot) 教程 Moltbot&…

作者头像 李华
网站建设 2026/5/3 0:32:37

救命神器!自考必看!8款一键生成论文工具TOP8测评与推荐

救命神器&#xff01;自考必看&#xff01;8款一键生成论文工具TOP8测评与推荐 2026年自考论文写作工具测评&#xff1a;为何需要一份权威榜单&#xff1f; 随着自考人数逐年增长&#xff0c;论文写作成为众多考生面临的“拦路虎”。从选题构思到资料搜集&#xff0c;再到格式规…

作者头像 李华
网站建设 2026/5/4 0:52:20

大厂AI 岗面试必看:107 道面经 + 102 道大模型真题,附 2026学习路线图

近期科技圈传来重磅消息&#xff1a;行业巨头英特尔宣布大规模裁员2万人&#xff0c;传统技术岗位持续萎缩的同时&#xff0c;另一番景象却在AI领域上演——AI相关技术岗正开启“疯狂扩招”模式&#xff01;据行业招聘数据显示&#xff0c;具备3-5年大模型相关经验的开发者&…

作者头像 李华
网站建设 2026/5/2 15:36:35

Nodejs+vue微信小程序的反诈科普平台

文章目录 技术架构设计核心功能模块数据安全方案性能优化策略数据分析体系运营推广机制 --nodejs技术栈--结论源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 技术架构设计 采用Node.js作为后端服务框架&#xff0c;搭配Express或Koa构…

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

Nodejs+vue微信小程序的宠物领养平台

文章目录项目背景技术栈核心功能创新点应用价值--nodejs技术栈--结论源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;项目背景 随着社会对宠物领养需求的增长&#xff0c;开发一个基于Node.js和Vue的微信小程序宠物领养平台&#xff0c…

作者头像 李华