leetcode专题训练 55. Jump Game

存储一个far变量记录当前已经到的最远距离,如果当前遍历节点比最远距离大,那么就说明当前节点不能到达,那么就说明当前节点后面的节点也不能被到达,返回False。如果最远距离大于当前遍历节点,就用当前遍历节点所能跳到位置更新最远距离。如果最远距离已经到达了最后一个节点位置了,那么就说明可以跳到最后一个节点,返回True即可。

class Solution:
    def canJump(self, nums: List[int]) -> bool:
        l = len(nums)
        far = 0 #目前已到达的最远距离
        for i in range(l):
            if far < i:
                return False
            nex = i+nums[i]
            if nex > far:
                far = nex
            if far >= l-1:
                return True
        return False

最近压力巨大,托福考了99分,真的很可惜啊,再多考1分就可以少报一次了,然后又报名了一次托福。这两天还开学了,导师那边也出了一些问题,课程也开始上了,时间就紧了。每天早上7点起床,晚上11点睡觉好像已经无法满足现在的学习强度了,所以以后每天7点起,12点睡吧。每经历一次挫折都会使我成长,无论路途多么艰辛,只要我扛过来了,那么我就会变得更强。

发布了201 篇原创文章 · 获赞 26 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/Ema1997/article/details/101147175