【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]
相关推荐
q_3548885153几秒前
交通数据分析项目:python地铁数据可视化分析系统 Flask框架 爬虫 数据分析 轨道数据 地铁数据分析 大数据 (源码)✅
人工智能·爬虫·python·机器学习·信息可视化·数据分析·flask
进击的荆棘1 小时前
优选算法——双指针
数据结构·算法
魂梦翩跹如雨1 小时前
死磕排序算法:手撕快速排序的四种姿势(Hoare、挖坑、前后指针 + 非递归)
java·数据结构·算法
努力学算法的蒟蒻8 小时前
day61(1.20)——leetcode面试经典150
面试·职场和发展
夏鹏今天学习了吗8 小时前
【LeetCode热题100(87/100)】最小路径和
算法·leetcode·职场和发展
哈哈不让取名字9 小时前
基于C++的爬虫框架
开发语言·c++·算法
幻云20109 小时前
Python深度学习:从筑基到登仙
前端·javascript·vue.js·人工智能·python
仰望星空@脚踏实地9 小时前
本地Python脚本是否存在命令注入风险
python·datakit·命令注入
LOnghas121110 小时前
果园环境中道路与树木结构检测的YOLO11-Faster语义分割方法
python
Lips61111 小时前
2026.1.20力扣刷题笔记
笔记·算法·leetcode