【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
相关推荐
无限进步_5 分钟前
C语言数组元素删除算法详解:从基础实现到性能优化
c语言·开发语言·windows·git·算法·github·visual studio
月殇_木言13 分钟前
Python期末复习
开发语言·python
松涛和鸣13 分钟前
16、C 语言高级指针与结构体
linux·c语言·开发语言·数据结构·git·算法
Booksort14 分钟前
【LeetCode】算法技巧专题(持续更新)
算法·leetcode·职场和发展
OJAC11115 分钟前
2026高校毕业生1270万!但这些学生却被名企用高薪“提前预定”!
算法
Controller-Inversion18 分钟前
岛屿问题(dfs典型问题求解)
java·算法·深度优先
小白程序员成长日记18 分钟前
力扣每日一题 2025.11.28
算法·leetcode·职场和发展
Swift社区22 分钟前
LeetCode 435 - 无重叠区间
算法·leetcode·职场和发展
sin_hielo23 分钟前
leetcode 1018
算法·leetcode
大工mike39 分钟前
代码随想录算法训练营第三十一天 | 1049. 最后一块石头的重量 II 494. 目标和 474.一和零
算法