【LeetCode】每日一题:跳跃游戏 II

给定一个长度为 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]。

解题思路

DP

AC代码

python 复制代码
class Solution:
    def jump(self, nums: List[int]) -> int:
        if len(nums) < 2:
            return 0
        if len(nums) == 2:
            return 1

        n = len(nums) - 1
        f = [1001 for _ in nums]

        for i in range(n - 1, -1, -1):
            if nums[i] + i >= n:
                f[i] = 1
            else:
                f[i] = 1 + min(f[i+1:i+nums[i]+1]) if nums[i] != 0 else 1001
        return f[0]
相关推荐
民乐团扒谱机8 小时前
【附完整代码】Python爬取古筝网曲谱图片一键生成PDF(下·PDF生成与GUI篇)
开发语言·python·pdf
lunareclipse8 小时前
Python 填坑:消失的信号点 —— 详解“可变默认参数”陷阱
python
光之后裔8 小时前
Numpy以及Pytorch中多维数组的维度数与维度值以及轴axis理解
pytorch·python·numpy
tangweiguo030519878 小时前
RAG 从零到一:让大模型读懂你的文档
python·langchain
cpp_25018 小时前
P2249 【深基13.例1】查找
数据结构·c++·算法·题解·二分·洛谷
挖AI金矿8 小时前
(六)文件与搜索 - 信息处理的正确姿势
人工智能·python·开源·个人开发·ai编程
烤麻辣烫8 小时前
算法--二分搜索
java·开发语言·学习·算法·intellij-idea
Fleshy数模8 小时前
Python+MediaPipe 实现实时手部关键点检测(新手避坑完整版)
python
2401_833033628 小时前
c++如何实现简单的文件签名验证_HMAC-SHA1算法应用【进阶】
jvm·数据库·python
重庆若鱼文化创意8 小时前
包装设计公司哪家好?价格差很多时,关键看材质、印刷工艺和实际包装成本
人工智能·python·材质