【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]
相关推荐
昆曲之源_娄江河畔1 分钟前
婴儿版训练GPT
python·gpt·机器学习·大模型训练
不会写DN15 分钟前
为什么map查找时间复杂度是O(1)?
算法·哈希算法·散列表
qq_4138474016 分钟前
Redis怎样设计企业级备份策略_结合全量RDB与增量AOF实现多级数据保护
jvm·数据库·python
始三角龙18 分钟前
LeetCode hoot 100 -- 找到字符串中的所有字母异位词
算法·leetcode·职场和发展
qq_3729069323 分钟前
如何通过点击事件动态展开和收起 HTML 元素
jvm·数据库·python
abant223 分钟前
leetcode 45 跳跃问题2 很难的贪心
算法·leetcode·职场和发展
小糯米60124 分钟前
C语言指针3
c语言·数据结构·算法
ZPC821029 分钟前
ROS2 通信提速快过UDP
人工智能·算法·机器人
RD_daoyi30 分钟前
谷歌2026年 3 月核心更新深度解析:SEO 从内容优化到信息供给系统的全面重构
人工智能·算法·重构
qq_3721542336 分钟前
Golang Gin怎么做JWT登录认证_Golang Gin JWT教程【实用】
jvm·数据库·python