当前位置: 首页 > 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])

相关文章:

  • 地质公园网站建设怎么做seo网站关键词优化
  • 宝山网站建设宝山aso平台
  • 国内最大的网站制作公司如何优化网络连接
  • 泉州网站建设方案维护百度通用网址
  • 中山模板建站公司宜兴百度推广公司
  • 政府门户网站建设要求百度账号登录官网
  • 开发语言漫谈-R语言
  • 【Docker基础】Docker容器管理:docker rm及其参数详解
  • linux环境内存满php-fpm
  • js递归性能优化
  • mysql之timestamp字段自动更新问题
  • ​​深入解析 Vue 中的 pathRewrite:路径重写规则详解​​
  • 汽车一键启动升级手机控车
  • 技术选型:时序数据库(三)
  • vue 实现多区域图片拖拽
  • Neo4j2.0.1桌面端使用教程(简化版)
  • 关于如何在 Git 中切换到之前创建的分支的方法
  • Redis主从架构哨兵模式
  • 生僻字处理工具类
  • 【附源码】旅游网站系统设计与实现+SpringBoot + Vue (前后端分离)
  • ArrayList和LinkedList详解
  • python打卡day56@浙大疏锦行
  • 时间同步 gptp ptp
  • 【软件系统架构】系列四:嵌入式软件-NPU(神经网络处理器)系统及模板
  • 如何解决本地DNS解析失败问题?以连接AWS ElastiCache Redis为例
  • LabVIEW气密性测试系统