当前位置: 首页 > news >正文

跳跃游戏II-leetcode

题目描述

给定一个长度为 n0 索引整数数组 nums。初始位置在下标 0。

每个元素 nums[i] 表示从索引 i 向后跳转的最大长度。换句话说,如果你在索引 i 处,你可以跳转到任意 (i + j) 处:

  • 0 <= j <= nums[i]
  • i + j < n

返回到达 n - 1 的最小跳跃次数。测试用例保证可以到达 n - 1

示例 1:

输入: nums = [2,3,1,1,4]
输出: 2
解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。

示例 2:

输入: nums = [2,3,0,1,4]
输出: 2

提示:

  • 1 <= nums.length <= 104
  • 0 <= nums[i] <= 1000
  • 题目保证可以到达 n - 1

解法一

思路:

来自官方题解。

如果我们「贪心」地进行正向查找,每次找到可到达的最远位置,就可以在线性时间内得到最少的跳跃次数。

例如,对于数组 [2,3,1,2,4,2,3],初始位置是下标 0,从下标 0 出发,最远可到达下标 2。下标 0 可到达的位置中,下标 1 的值是 3,从下标 1 出发可以达到更远的位置,因此第一步到达下标 1。

从下标 1 出发,最远可到达下标 4。下标 1 可到达的位置中,下标 4 的值是 4 ,从下标 4 出发可以达到更远的位置,因此第二步到达下标 4。

1

在具体的实现中,我们维护当前能够到达的最大下标位置,记为边界。我们从左到右遍历数组,到达边界时,更新边界并将跳跃次数增加 1。

在遍历数组时,我们不访问最后一个元素,这是因为在访问最后一个元素之前,我们的边界一定大于等于最后一个位置,否则就无法跳到最后一个位置了。如果访问最后一个元素,在边界正好为最后一个位置的情况下,我们会增加一次「不必要的跳跃次数」,因此我们不必访问最后一个元素。

代码:

class Solution {public int jump(int[] nums) {int length = nums.length;int end = 0;int maxPosition = 0; int steps = 0;for (int i = 0; i < length - 1; i++) {maxPosition = Math.max(maxPosition, i + nums[i]); if (i == end) {end = maxPosition;steps++;}}return steps;}
}
http://www.jsqmd.com/news/601929/

相关文章:

  • 2026年全国玻璃钢桥架/不锈钢桥架公司甄选 覆盖多区域且服务完善 - 深度智识库
  • 终极指南:如何在Neovim中配置conform.nvim与Ruff实现Python代码格式化
  • Prescan8.5 百度网盘资源获取与详细安装破解指南
  • 分享校准设备用金属箔电阻生产厂家,选哪个品牌 - 工业品网
  • jenkins发布报gradle error in opening zip file解决
  • 2026年昆明欧式婚纱照推荐,为您揭秘优质摄影公司排名 - mypinpai
  • 别只当工具人!深入理解CRC32碰撞原理,让你在CTF中自己写爆破脚本
  • 终极PeerJS Server性能优化指南:高并发场景下的信令服务调优技巧 [特殊字符]
  • SEO 外链建设有哪些方法和技巧_外链建设与网站内容优化的关系是什么
  • SPSS时间序列预测实战:从数据导入到模型解读
  • ImageGlass完全指南:如何用这款免费开源工具彻底改变你的图片浏览体验
  • 万里通积分卡回收指南:使用技巧与回收方式全解析 - 团团收购物卡回收
  • Xenia Canary:终极Xbox 360模拟器完全指南
  • 如何选择最佳天虹购物卡回收方式?实用技巧大公开! - 团团收购物卡回收
  • 3步解放双手:语雀文档批量导出与本地备份全攻略
  • DSP28335程序升级实战:除了仿真器,用串口/CAN升级时如何准备.bin文件(CCS12.2版)
  • 如何配置 pangu.js 实现完美文本排版:环境变量与运行时配置终极指南
  • 3个维度解析Helix Toolkit:跨平台3D渲染框架的技术突破与商业价值
  • 用Anything to RealCharacters为游戏角色“拍照”:生成高质感真人定妆照
  • Sensey传感器优化:提升手势检测精度与性能的5个技巧
  • 2026年4月最新!北上广深佛欧米茄官方售后维修服务网点全覆盖 - 速递信息
  • YOLO X Layout实战:3步搭建文档智能分析工具,小白也能搞定
  • 如何快速搭建Xbox 360模拟器:3步完成安装配置的终极指南
  • 如何快速扩展我的电视·〇:自定义视频源与功能集成完全指南
  • 超越安装:体验快马平台AI辅助开发,让智能模型实时为你解释代码与提供优化建议
  • Grimoire:终极书签管理器 - 为巫师打造的神奇知识宝库
  • 数字电路设计终极指南:用Logisim-Evolution从零搭建你的第一个逻辑系统
  • 分析昆明现代经典简约、大气时尚、文艺婚纱照,性价比哪家高? - 工业设备
  • JPEGView:Windows平台轻量级图像工具的性能革命
  • 如何在70倍加速下使用Whisper JAX构建高性能语音识别服务:Docker容器化终极指南