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

力扣第45题-跳跃游戏2

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

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]

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

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

返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]

示例 1:

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

示例 2:

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

"""
思路
我们找到初始位置的能跳到的区间,找到这个区间上,跳到最远的点,
把这个位置作为下一次的起跳点,一次类推,当最远点>=末尾位置的时候既为最少得步数
"""def jump(nums):if len(nums) <= 1:return 0end_index = len(nums) - 1step = 1left = 0right = 0 + nums[0]while right < end_index:for i in range(left + 1, right + 1):  # 右侧是闭区间if nums[i] + i > right:right = nums[i] + ileft = i + 1step += 1print(step)jump([2, 3, 1, 1, 4])
jump([2, 3, 0, 1, 4])

http://www.lryc.cn/news/575772.html

相关文章:

  • [mcp-servers] docs | AI客户端-MCP服务器-AI 架构
  • linux cp与mv那个更可靠
  • 浅析阿拉伯语OCR技术的核心难点及其应用场景
  • LeetCode 2311.小于等于 K 的最长二进制子序列:贪心(先选0再选1)-好像还是比灵神写的清晰些
  • 996引擎-假人系统
  • VUE3入门很简单(3)--- watch
  • 重塑音视频叙事:Premiere文本剪辑与Podcast AI降噪的革命性工作流
  • 解决 “docker-compose: command not found“ 错误
  • C2远控篇CC++SC转换格式UUID标识MAC物理IPV4地址减少熵值
  • Selenium+Pytest自动化测试框架实战
  • 玄机抽奖Spring Web项目
  • MySQL5.7和8.0 破解root密码
  • 【软件测试】银行信贷项目-面试题常问整理
  • Python 中 `for` 循环与 `while` 循环的实际应用区别:实例解析
  • 事件循环(Event Loop)机制对比:Node.js vs 浏览器​
  • 【UniApp 日期选择器实现与样式优化实践】
  • WinAppDriver 自动化测试:C#篇
  • 第七章:总结
  • linux环境内存满php-fpm
  • WebRTC(十):RTP和SRTP
  • 七天学会SpringCloud分布式微服务——03——Nacos远程调用
  • LightGBM:极速梯度提升机——结构化数据建模的终极武器
  • 2.1、STM32 CAN外设简介
  • 鸿蒙实时音视频流处理框架开发实战——基于HarmonyOS 4.0与分布式软总线的低延时高可靠架构
  • Miniconda+Jupyter+PyCharm初始环境配置
  • Java全栈面试实录:从电商平台到AIGC,技术栈深度解析
  • Linux驱动学习day8(按键驱动读取方式、GPIO、pinctrl子系统)
  • FFmpeg进行简单的视频编辑与代码写法实例
  • 推荐系统的视频特征-视频关键帧特征提取与向量生成
  • 【Unity】如何制作翻页UI