分析

已经能到达最后一个(可通过跳跃游戏1判断)
然后还是按照每次能走的区间,记录maxPos
一个个位置遍历,在能走的区间内边走边看找到下一个maxPos
然后如果当前位置i触及end(也就是上一个maxPos的位置,这是我们能走的极限)
这时候step必须加1,同时下一个的end就是我们当前记录的maxPos
极尽贪心之道

ac code

class Solution:def jump(self, nums: List[int]) -> int:# 可以用跳跃游戏1来判断是否可以到达最后一个位置# 这个跳跃游戏2基于1求最少到达的次数# 还是贪心,当前的[cur, maxPos]往前看,能走最远的才“加油”maxPos, mustAdd, step = 0, 0, 0n = len(nums)# 到了必须要加油的地方才加油# 最后一个位置是要到达,没必要加油for i in range(n - 1):# 贪心当前能走区间看到的最远位置maxPos = max(maxPos, nums[i] + i)# 如果走到必须加油的地方if i == mustAdd:# 下一次必须加油的地方# 就是上一段区间能看到最远的地方mustAdd = maxPosstep += 1return step

总结

走当前油量能支持的所有区间
然后到每个位置边走边看,如果在这个位置加油接下来能到达的最大位置
然后在这个区间内找到下一个区间的maxPos即可

leetcode:45. 跳跃游戏 II【经典贪心】相关推荐

  1. LeetCode 45. 跳跃游戏 II(贪心/BFS,难)

    文章目录 1. 题目 2. 解题 2.1 贪心 2.2 BFS 1. 题目 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的 ...

  2. Leetcode 45. 跳跃游戏 II

    Leetcode 45. 跳跃游戏 II 题目 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组 ...

  3. leetcode 45. 跳跃游戏 II 46. 全排列

    leetcode 45. 跳跃游戏 II 46. 全排列 45. 跳跃游戏 II 难度中等1273收藏分享切换为英文接收动态反馈 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中 ...

  4. LeetCode 45.跳跃游戏II

    45.跳跃游戏 II 题目描述 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. ...

  5. leetcode 45.跳跃游戏 II

    一.题意 给出一个非负整数数组 nums ,数组中的每个元素代表在该位置可以跳跃的最大长度.使用最少的跳跃次数到达数组的最后一个位置.假设总是可以到达数组的最后一个位置. 二.解法 贪心算法. 解法一 ...

  6. leetcode 45跳跃游戏II

    跳跃游戏II 核心思想:当前范围内走不到目的地,更新下一个范围.下一个范围是当前范围内能走到的最远点 class Solution {public:int jump(vector<int> ...

  7. 162. Leetcode 45. 跳跃游戏 II (贪心算法-贪心区间)

    class Solution:def jump(self, nums: List[int]) -> int:if len(nums) == 1:return 0# 记录走的最大步数.当前覆盖最远 ...

  8. leetcode —— 45. 跳跃游戏 II

    给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [2,3,1,1,4] 输 ...

  9. leetcode 45. 跳跃游戏 II 思考分析

    题目 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [2,3,1,1,4 ...

  10. Leetcode 45. 跳跃游戏 II (每日一题 20210922)

    给你一个非负整数数组 nums ,你最初位于数组的第一个位置.数组中的每个元素代表你在该位置可以跳跃的最大长度.你的目标是使用最少的跳跃次数到达数组的最后一个位置.假设你总是可以到达数组的最后一个位置 ...

最新文章

  1. 编译httpd-2.4.46的RPM包
  2. 大数据和个性化设计是用户体验(UX)的未来
  3. 深度学习入门笔记系列(一)——深度学习框架 tensorflow 的介绍与安装
  4. 热式气体质量流量计检定规程_热式气体质量流量计基于热扩散原理
  5. Linux学习总结(4)——Centos6.5使用yum安装mysql——快速上手必备
  6. 吴恩达机器学习学习笔记第六章:机器学习中的线性代数操作python3版(含numpy、panda库的使用)
  7. Uber无人车正式分拆:估值72.5亿美元,获孙正义和丰田10亿美元投资
  8. win7连接linux系统怎么样,win7系统连接linux的操作方法
  9. java bufferedreader读大文件会内存溢出吗_【JVM成长系列】实战内存溢出异常
  10. 气象数据下载网站整理
  11. 形式化方法对软件开发的挑战:一些历史与现实
  12. HPC应用安装之roms
  13. 10G整数中寻找中位数
  14. 在线ASCII转换工具
  15. photoshop名人堂
  16. python正态分布函数_用python求标准正态分布的上α分位点
  17. Apple iPad
  18. 血色冲锋队洛谷P1332(福建省历届夏令营)
  19. 【编程开发】之微信登录
  20. HTB-baby BoneChewerCon

热门文章

  1. 3、Python 中文分词组件Jieba
  2. Unexpected token ‘ in JSON
  3. flush函数php,PHP flush 和 ob_flush 的机制及详解
  4. 腾讯To B再变阵:产业互联网之路以后会更好走吗?
  5. Android音频处理库,android 音频处理mediaplay介绍
  6. 【前端】Vue+Element UI案例:通用后台管理系统-登陆不同用户显示不同菜单、动态添加路由
  7. 西梅干进口关税税率及进口注意事项
  8. 索引(index)的简单理解
  9. ---Audio编辑器制作步骤
  10. JDK8-17新特性(上)