【leetcode--55.跳跃游戏】

思路:贪心算法,尽可能达到最远的位置(因为如果可以达到某个位置,一定可以达到之前的位置)

复制代码
class Solution:
    def canJump(self, nums: List[int]) -> bool:
        max_i = 0
        for i ,jump in enumerate(nums):
            if max_i>=i and (i + jump) > max_i:
                max_i = i + jump
        return max_i >= i

这里的return max_i >= i,注意可以换成return max_i >= len(nums)-1.

首先初始化当前能到达的最远距离,i为当前位置,jump是当前位置的跳数

if判断如果当前位置到达,并且当前位置+跳数>最远位置

然后更新最远能到达位置

相关推荐
田梓燊7 小时前
leetcode 73
算法·leetcode·职场和发展
howlet27 小时前
AI生成cocos-creator打砖块游戏-准备工作
人工智能·游戏
ZPC82107 小时前
相机接入ROS2 流程及问题排查
人工智能·算法·机器人
2501_940315267 小时前
【无标题】两个相同字符串中不同字符的个数
算法·哈希算法·散列表
6Hzlia7 小时前
【Hot 100 刷题计划】 LeetCode 54. 螺旋矩阵 | C++ 模拟法题解
c++·leetcode·矩阵
RPGMZ7 小时前
RPGMakerMZ 游戏引擎 野外采集点制作
javascript·游戏·游戏引擎·rpgmz·野外采集点
算法鑫探7 小时前
显示器插座最短连线算法(蓝桥杯十六届C组编程题第二题)
c语言·数据结构·算法·排序算法·新人首发
akarinnnn7 小时前
【DAY15】:深⼊理解指针(6)
算法
float_com7 小时前
LeetCode 88. 合并两个有序数组
leetcode
水蓝烟雨7 小时前
LeetCode刷题笔记:合并两个有序链表(0021)
笔记·leetcode·链表