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

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。

解题思路

每个位置算自己最远能跳到哪里,那么倒过来考虑,更新需要跳到的位置即可

AC代码

python 复制代码
class Solution:
    def canJump(self, nums: List[int]) -> bool:
        if len(nums) < 2:
            return True
        nums = [i + v for i, v in enumerate(nums)]

        target = len(nums) - 1
        for i in range(len(nums) - 2, -1, -1):
            if nums[i]  >= target:
                target = i
        
        return target == 0
相关推荐
6Hzlia3 分钟前
【Hot 100 刷题计划】 LeetCode 21. 合并两个有序链表 | C++ 经典迭代与 Dummy 技巧
c++·leetcode·链表
qq_372154234 分钟前
Python中如何快速创建全零数组_使用NumPy的zeros函数初始化内存
jvm·数据库·python
杨校5 分钟前
杨校老师课堂之C++高精度乘法
算法
上弦月-编程6 分钟前
C语言位运算:从入门到精通
运维·c语言·开发语言·vscode·算法·leetcode·极限编程
2301_796588506 分钟前
Tailwind CSS如何快速实现居中对齐_使用mx-auto类实现CSS块级居中
jvm·数据库·python
码点滴6 分钟前
上下文压缩不是“丢数据“:Context Compressor 的血缘追踪与 Prefix Cache 保护
人工智能·python·架构·prompt·ai编程
zhangzeyuaaa8 分钟前
Python协程
开发语言·python
forEverPlume10 分钟前
Go语言如何防SQL注入_Go语言SQL注入防护教程【精选】
jvm·数据库·python
m0_6178814210 分钟前
mysql升级后日志文件如何处理_mysql日志迁移说明
jvm·数据库·python
baidu_3409988211 分钟前
JavaScript中类的装饰器提案在属性与方法上的应用
jvm·数据库·python