【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
相关推荐
xh didida3 分钟前
数据结构--实现链式结构二叉树
c语言·数据结构·算法
ab1515173 分钟前
3.15二刷基础90、105、106、110
数据结构·c++·算法
C蔡博士4 分钟前
最近点对问题(Closest Pair of Points)
java·python·算法
APIshop5 分钟前
Java调用亚马逊商品详情API接口完全指南
java·开发语言·python
白太岁6 分钟前
算法:链表:指针变化与环
数据结构·算法·链表
寻寻觅觅☆6 分钟前
东华OJ-进阶题-10-分解质因数(C++)
数据结构·c++·算法
是梦终空11620 分钟前
模板编译期机器学习
开发语言·c++·算法
nimadan1230 分钟前
**豆包seed写剧本2025指南,AI编剧工具实战应用解析**
人工智能·python
沉下去,苦磨练!30 分钟前
python的if __name__ == ‘__main__‘
python