【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
相关推荐
长安er8 分钟前
LeetCode 167/15 两数之和与三数之和-双指针1
算法·leetcode·双指针·两数之和·三数之和
EasyDSS13 分钟前
视频直播点播平台EasyDSS在游戏比赛直播场景的应用实践
游戏·音视频
南_山无梅落15 分钟前
4-Python3输入输出学习笔记:input()与print()的灵活使用
笔记·python·学习·input·print
心动啊12124 分钟前
简单学下chromaDB
开发语言·数据库·python
Hello娃的27 分钟前
【神经网络】反向传播BP算法
人工智能·神经网络·算法
江上鹤.14830 分钟前
Day33类装饰器
开发语言·python
阿龙AI日记30 分钟前
保姆级教程:Anaconda+Cuda+Torch+Pycharm配置指南
ide·pytorch·python·pycharm
测试人社区—小叶子32 分钟前
边缘计算与AI:下一代智能应用的核心架构
运维·网络·人工智能·python·架构·边缘计算
二川bro32 分钟前
性能分析指南:Python cProfile优化实战
开发语言·python
lynnlovemin33 分钟前
从暴力到高效:C++ 算法优化实战 —— 排序与双指针篇
java·c++·算法