【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
相关推荐
年少无为呀!6 分钟前
OpenClaw 飞书 Skill 开发完全指南
python·机器人·飞书·助手·openclaw·skill开发
放下华子我只抽RuiKe511 分钟前
AI大模型开发-实战精讲:从零构建 RFM 会员价值模型(进阶挑战版)
人工智能·深度学习·算法·机器学习·数据挖掘·数据分析·聚类
Nontee12 分钟前
Leetcode Top100答案和解释 -- Python版本(链表)
算法·leetcode·链表
赵谨言1 小时前
基于YOLOv5的植物目标检测研究
大数据·开发语言·经验分享·python
不光头强1 小时前
IO流知识点
开发语言·python
niuniudengdeng1 小时前
六面独立转动魔方还原机器人设计与实现
数学·算法·机器人
ghie90901 小时前
基于MATLAB的A*算法避障路径规划实现
人工智能·算法·matlab
老师好,我是刘同学1 小时前
Python列表用法全解析及实战示例
python
雾岛听蓝1 小时前
C文件操作与系统IO
linux·c语言·开发语言·经验分享·笔记·算法
夫唯不争,故无尤也2 小时前
HTTP方法详解:GET、POST、PUT、DELETE
开发语言·windows·python