【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判断如果当前位置到达,并且当前位置+跳数>最远位置

然后更新最远能到达位置

相关推荐
Fly Wine8 小时前
Leetcode之有效字母异位词
算法·leetcode·职场和发展
程序员夏末9 小时前
【LeetCode | 第七篇】算法笔记
笔记·算法·leetcode
csdn_aspnet10 小时前
C/C++ 两个凸多边形之间的切线(Tangents between two Convex Polygons)
c语言·c++·算法
数据皮皮侠10 小时前
中国城市间地理距离矩阵(2024)
大数据·数据库·人工智能·算法·制造
3GPP仿真实验室10 小时前
深度解析基站接收机核心算法:从 MRC 到 IRC 的空间滤波演进
算法
Boop_wu10 小时前
[Java 算法] 动态规划(1)
算法·动态规划
WolfGang00732110 小时前
代码随想录算法训练营 Day18 | 二叉树 part08
算法
张老师带你学10 小时前
UnityVR弯曲UI
科技·游戏·unity·游戏引擎·模型
hanlin0311 小时前
刷题笔记:力扣第43、67题(字符串计算)
笔记·算法·leetcode
yang_B62111 小时前
最小二乘法 拟合平面
算法·平面·最小二乘法