力扣-45. 跳跃游戏 II
目录
- 前言
- talk is cheap
- 分析
前言
本人刷题不大喜欢硬背,追求代码逻辑极致简洁。刷题顺序按照代码随想录进行(强烈安利),若有读者在其他题目有疑问,亦可留言。
talk is cheap
class Solution:def jump(self, nums: List[int]) -> int:dp = [float('inf')] * len(nums) # 定义dp数组:跳跃至索引i的最少跳跃次数# 状态转移方程:当前跳跃能抵达的前提下,dp[j] = min(dp[j], dp[i]+1)# 初始化(因为求最少跳跃次数,所以dp初始化是无限大;根据题目跳跃初始位置是数组第一个位置,所以dp[0]=0)dp[0] = 0# 遍历数组并反序(反序代表仅使用一次)for i in range(len(nums)):# min函数代表在当前位置i下,能抵达最远的位置,倘若不使用此逻辑(从len(nums)-1开始)会导致溢出for j in range(min(len(nums)-1, nums[i]+i), i-1, -1): dp[j] = min(dp[j], dp[i]+1)return dp[-1]
分析
动态规划本质还是空间换时间,该方法从结果看,空间复杂度较低,范围计算复杂度有点高,有点蠢
此算法笔记会在CSDN、知乎、b站及公众号同步更新,账号名为一枚嘉应子。转载注明出处,侵权必究。
力扣-45. 跳跃游戏 II相关推荐
- 力扣45跳跃游戏II(难)JAVA
力扣题解 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 假设你总是可以到达数 ...
- 力扣45. 跳跃游戏 II(JavaScript)
//如果当前覆盖范围不能到达终点,则步数+1//在当前可覆盖范围内查找能到达终点的(或者最远的)步数 var jump = function(nums) {let ans=0 //步数let end= ...
- 力扣记录:贪心算法3较难(1)区间问题——55 跳跃游戏,45 跳跃游戏II,452 用最少数量的箭引爆气球,435 无重叠区间,763 划分字母区间,56 合并区间
本次题目 55 跳跃游戏 45 跳跃游戏II 452 用最少数量的箭引爆气球 435 无重叠区间 763 划分字母区间 56 合并区间 55 跳跃游戏 局部最优:不管每次跳多少步,取最大跳跃步数,若覆 ...
- 45. 跳跃游戏 II golang 动态规划
45. 跳跃游戏 II 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [ ...
- LeetCode55跳跃游戏//力扣55跳跃游戏(贪心)
LeetCode55跳跃游戏//力扣55跳跃游戏(贪心) 来源:力扣(LeetCode) 链接:题目跳转 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该 ...
- Leetcode 45. 跳跃游戏 II
Leetcode 45. 跳跃游戏 II 题目 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组 ...
- Leetcode-D21-动态规划(二刷)-55. 跳跃游戏45. 跳跃游戏 II
我导好好啊!!!刚找完他!充满动力,给个大标题! 55. 跳跃游戏 1.感觉不像是一道很明显的动态规划问题. 2.看下答案和自己的思路是否一致.和我的想法一下,敲代码叭! 3.通过了,但这次好慢呀 c ...
- leetcode 45. 跳跃游戏 II 46. 全排列
leetcode 45. 跳跃游戏 II 46. 全排列 45. 跳跃游戏 II 难度中等1273收藏分享切换为英文接收动态反馈 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中 ...
- LeetCode 45.跳跃游戏II
45.跳跃游戏 II 题目描述 给你一个非负整数数组 nums ,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. ...
最新文章
- 基于 HTML5 的 WebGL 技术构建 3D 场景(一)
- hdu2155 小黑的镇魂曲(dp)
- 埃夫特冲刺科创板 国产工业机器人领军者谋“换道超车”
- Python_sqlalchemy之多对多建表
- yarn container写token目录选择bug
- 减少联调、高效集成,试试这个工具
- Kali Linux 无线渗透测试入门指南 第十章 WPS 和 探针
- 今日头条iOS客户端启动速度优化
- 详细解读二叉树基本操作
- 一个oracle并发性问题的分析和解决
- 【DL小结5】Transformer模型与self attention
- 计算机科学导论填空题,计算机科学导论习题
- 常用的pcb设计软件有哪些
- 7种常用数据分析方法 (下)
- DLP和3LCD投影仪技术有什么区别?怎么选看这里!
- 电脑任务栏卡死,解决办法
- 从TikTok功能优化,抓住直播带货机遇
- word之插入图表题、表标题,图目录和表目录
- SD-销售订单数量修改需大于已交货数量,消息报错而非警告调整
- IDEA解决开两个窗口问题