【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
相关推荐
郝学胜-神的一滴28 分钟前
当AI遇见架构:Vibe Coding时代的设计模式复兴
开发语言·数据结构·人工智能·算法·设计模式·架构
Frostnova丶6 小时前
LeetCode 190.颠倒二进制位
java·算法·leetcode
骇城迷影6 小时前
代码随想录:链表篇
数据结构·算法·链表
专注前端30年7 小时前
智能物流路径规划系统:核心算法实战详解
算法
CeshirenTester7 小时前
9B 上端侧:多模态实时对话,难点其实在“流”
开发语言·人工智能·python·prompt·测试用例
Starry_hello world7 小时前
Python (2)
python
ID_180079054737 小时前
Python爬取京东商品库存数据与价格监控
jvm·python·oracle
json{shen:"jing"}7 小时前
字符串中的第一个唯一字符
算法·leetcode·职场和发展
追随者永远是胜利者8 小时前
(LeetCode-Hot100)15. 三数之和
java·算法·leetcode·职场和发展·go
-To be number.wan8 小时前
Python数据分析:时间序列数据分析
开发语言·python·数据分析