leetcode:45. 跳跃游戏 II【经典贪心】
分析
已经能到达最后一个(可通过跳跃游戏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【经典贪心】相关推荐
- LeetCode 45. 跳跃游戏 II(贪心/BFS,难)
文章目录 1. 题目 2. 解题 2.1 贪心 2.2 BFS 1. 题目 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的 ...
- Leetcode 45. 跳跃游戏 II
Leetcode 45. 跳跃游戏 II 题目 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组 ...
- leetcode 45. 跳跃游戏 II 46. 全排列
leetcode 45. 跳跃游戏 II 46. 全排列 45. 跳跃游戏 II 难度中等1273收藏分享切换为英文接收动态反馈 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中 ...
- LeetCode 45.跳跃游戏II
45.跳跃游戏 II 题目描述 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. ...
- leetcode 45.跳跃游戏 II
一.题意 给出一个非负整数数组 nums ,数组中的每个元素代表在该位置可以跳跃的最大长度.使用最少的跳跃次数到达数组的最后一个位置.假设总是可以到达数组的最后一个位置. 二.解法 贪心算法. 解法一 ...
- leetcode 45跳跃游戏II
跳跃游戏II 核心思想:当前范围内走不到目的地,更新下一个范围.下一个范围是当前范围内能走到的最远点 class Solution {public:int jump(vector<int> ...
- 162. Leetcode 45. 跳跃游戏 II (贪心算法-贪心区间)
class Solution:def jump(self, nums: List[int]) -> int:if len(nums) == 1:return 0# 记录走的最大步数.当前覆盖最远 ...
- leetcode —— 45. 跳跃游戏 II
给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [2,3,1,1,4] 输 ...
- leetcode 45. 跳跃游戏 II 思考分析
题目 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [2,3,1,1,4 ...
- Leetcode 45. 跳跃游戏 II (每日一题 20210922)
给你一个非负整数数组 nums ,你最初位于数组的第一个位置.数组中的每个元素代表你在该位置可以跳跃的最大长度.你的目标是使用最少的跳跃次数到达数组的最后一个位置.假设你总是可以到达数组的最后一个位置 ...
最新文章
- 编译httpd-2.4.46的RPM包
- 大数据和个性化设计是用户体验(UX)的未来
- 深度学习入门笔记系列(一)——深度学习框架 tensorflow 的介绍与安装
- 热式气体质量流量计检定规程_热式气体质量流量计基于热扩散原理
- Linux学习总结(4)——Centos6.5使用yum安装mysql——快速上手必备
- 吴恩达机器学习学习笔记第六章:机器学习中的线性代数操作python3版(含numpy、panda库的使用)
- Uber无人车正式分拆:估值72.5亿美元,获孙正义和丰田10亿美元投资
- win7连接linux系统怎么样,win7系统连接linux的操作方法
- java bufferedreader读大文件会内存溢出吗_【JVM成长系列】实战内存溢出异常
- 气象数据下载网站整理
- 形式化方法对软件开发的挑战:一些历史与现实
- HPC应用安装之roms
- 10G整数中寻找中位数
- 在线ASCII转换工具
- photoshop名人堂
- python正态分布函数_用python求标准正态分布的上α分位点
- Apple iPad
- 血色冲锋队洛谷P1332(福建省历届夏令营)
- 【编程开发】之微信登录
- HTB-baby BoneChewerCon
热门文章
- 3、Python 中文分词组件Jieba
- Unexpected token ‘ in JSON
- flush函数php,PHP flush 和 ob_flush 的机制及详解
- 腾讯To B再变阵:产业互联网之路以后会更好走吗?
- Android音频处理库,android 音频处理mediaplay介绍
- 【前端】Vue+Element UI案例:通用后台管理系统-登陆不同用户显示不同菜单、动态添加路由
- 西梅干进口关税税率及进口注意事项
- 索引(index)的简单理解
- ---Audio编辑器制作步骤
- JDK8-17新特性(上)