【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
相关推荐
卿雪1 小时前
MySQL【索引】:索引的概念与分类
java·数据库·python·mysql·adb·golang
程序员-King.1 小时前
day106—双指针—长度最小的子数组(LeetCode-209)
算法·贪心算法
Xの哲學1 小时前
Linux TTY子系统深度剖析
linux·服务器·算法·架构·边缘计算
艾莉丝努力练剑1 小时前
【Python基础:语法第三课】Python 函数详解:定义、参数、返回值与作用域
服务器·人工智能·windows·python·pycharm
烟囱土著1 小时前
捣鼓30天,我写了一个数学加减练习小程序
学习·算法·微信小程序·小程序
团圆吧1 小时前
md2pdf.py:高效 Markdown 转 PDF 全能工具
python·pdf·tensorflow
移远通信1 小时前
HTTP 协议应用指导
python
Predestination王瀞潞1 小时前
Python3:Fifteenth 类型注解(Type Hints)
开发语言·python
AndrewHZ1 小时前
【图像处理基石】如何用OpenCV入门计算机视觉?
图像处理·深度学习·opencv·算法·计算机视觉·机器视觉·cv
我是程序汪1 小时前
程序汪3万18天接的塔防射击游戏小程序
游戏·小程序