【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 小时前
WebGL实现FPS游戏
vue.js·游戏·webgl
圣光SG7 小时前
Java操作题练习(七)
java·开发语言·算法
Cx330_FCQ8 小时前
Tmux使用
服务器·git·算法
拳里剑气9 小时前
C++算法:多源BFS
c++·算法·宽度优先·多源bfs
ysa05103010 小时前
【板子】短序列dp(换成维护更小常数维度的dp)
c++·笔记·算法·板子
shwill12310 小时前
PID 算法(三)--- 增量 PID ↔ 单神经元 PID 等价映射
linux·算法
EanoJiang11 小时前
【UE】混合程序动画
游戏
wabs66611 小时前
关于图论【卡码网110.字符串迁移的思考】
数据结构·算法·图论
hanlin0312 小时前
刷题笔记:力扣第242、349题(哈希表)
笔记·算法·leetcode
浮沉98713 小时前
二分查找算法例题(二)
算法