跳跃游戏2(求最少跳跃次数)Python解法
给你一个非负整数数组 nums ,你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
你的目标是使用最少的跳跃次数到达数组的最后一个位置。
假设你总是可以到达数组的最后一个位置。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/jump-game-ii
列:
输入: nums = [2,3,1,1,4]
输出: 2
解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。
# 思路:
判断当前能到达的最远位置是否可以覆盖最后一个位置,若不能则判断当前能到达的位置中比当前能到达的最远位置还要远的位置的位置,然后走一步再进行判断。
class Solution(object):def jump(self, nums):""":type nums: List[int]:rtype: int"""if len(nums) == 1: return 0 # 只有一个数时,不需要进行跳跃res = 0 # 最终跳跃的最少步数curDistance = 0 # 当前能到达的最远位置nextDistance = 0 # 下一步能到达的最远位置for i in range(len(nums)): # 对每一个值的最远距离进行判断nextDistance = max(i + nums[i], nextDistance) # 下一步的最远距离if i == curDistance: # 只有当i将上一步范围内的值全部遍历完成才能得出下一步能到达的最远距离。if curDistance != len(nums) - 1: # 如果还打不到最后一位res += 1 # 则走下一步curDistance = nextDistance # 当前距离就变成了下一步的最远距离if nextDistance >= len(nums) - 1: break # 如果下一步包含了最后一位,则直接弹出return res # 返回步数结果
跳跃游戏2(求最少跳跃次数)Python解法相关推荐
- LeetCode55跳跃游戏//力扣55跳跃游戏(贪心)
LeetCode55跳跃游戏//力扣55跳跃游戏(贪心) 来源:力扣(LeetCode) 链接:题目跳转 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该 ...
- 贪心:jump 游戏(获取最少跳跃的次数以及跳跃路径)
一个数组存储了非负整型数据,数组中的第i个元素a[i],代表了可以从数组第i个 位置最多向前跳跃a[i]步;已知数组各元素的情况下,求是否可以从数组的第0个位置跳跃到数组的最后一个元素的位置,返回最少 ...
- LeetCode--55.跳跃游戏(贪心,零点跳跃)
跳跃游戏(C) 1. 题目描述 2. 题目分析 3. C语言实现 3.1 零点跳跃法 3.2 贪心算法 1. 题目描述 难度:中等 2. 题目分析 这道题很有意思,我们需要知道的有这么几点: 如果输入 ...
- 爱丽丝Java游戏_爱丽丝的跳跃游戏下载-爱丽丝的跳跃官方版下载v1.00.12 安卓版-2265游戏网...
爱丽丝的跳跃游戏是一款好玩的竖版跳跃游戏,类似有以前java平台的跳跃类休闲游戏,在这里你可以操纵爱丽丝参与冒险,不断的向上跳跃,躲避与收集,解锁更多的服饰,感兴趣的朋友赶快来2265安卓网下载吧! ...
- leetcode跳跃游戏C语言,LeetCode:跳跃游戏
给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] 输出: true ...
- 力扣记录:贪心算法3较难(1)区间问题——55 跳跃游戏,45 跳跃游戏II,452 用最少数量的箭引爆气球,435 无重叠区间,763 划分字母区间,56 合并区间
本次题目 55 跳跃游戏 45 跳跃游戏II 452 用最少数量的箭引爆气球 435 无重叠区间 763 划分字母区间 56 合并区间 55 跳跃游戏 局部最优:不管每次跳多少步,取最大跳跃步数,若覆 ...
- 跳跃游戏 (动态规划剪枝/前缀和/滑动窗口/BFS剪枝)
一.跳跃游戏简单介绍 1. 跳跃游戏简单介绍 跳跃游戏是一种典型的算法题目,经常是给定一数组arr,从数组的某一位置i出发,根据一定的跳跃规则,比如从i位置能跳arr[i]步,或者小于arr[i]步, ...
- 跳跃游戏(jump-game)图解
目录 跳跃游戏(jump-game) 思路 代码 跳跃游戏II (jump-game-ii) 思路(正向查找可到达的最大位置) 资料 跳跃游戏(jump-game) 给定一个非负整数数组,你最初位于数 ...
- 力扣-45. 跳跃游戏 II
目录 前言 talk is cheap 分析 前言 本人刷题不大喜欢硬背,追求代码逻辑极致简洁.刷题顺序按照代码随想录进行(强烈安利),若有读者在其他题目有疑问,亦可留言. talk is cheap ...
最新文章
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 2400门课:MIT开放迄今最全CS+电气工程课程
- 聚类(三)FUZZY C-MEANS 模糊c-均值聚类算法——本质和逻辑回归类似啊
- OpenCV图像增强(二)——Retinex图像增强
- 盘 点 | 2015年红极一时又遭遇了滑铁卢的APP
- linux目录所属用户和组,管理用户所属的用户组《 Linux 文件与目录权限 》
- 自己抽取的柱状图MpAndroidChart
- 一些奇葩的元素节点object,video
- python selenium下载优缺点_Python下selenium的实战和普通爬虫的对比
- 很多人在网络上创业看不到本质
- linux g++ 链接,Linux G++将64位共享库代码链接到静态库
- swagger 基础入门
- 转:linux中select()函数分析
- 编译WINDOWS版FFmpeg:msys2环境准备
- WEB2.0 XHTML代码规范
- PMP到底有没有什么用?同学有话说
- 阿冰自己弄网站,利于开发的工具
- 大时代,小过客——《激荡三十年》优秀读后感范文4600字
- 抄送列表 ,处理邮件,年会抽奖
- [GO]学习新语言之卡塔练习--猜数字