Leetcode练习(Python):数组类:第55题:给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。


题目:
给定一个非负整数数组,你最初位于数组的第一个位置。  数组中的每个元素代表你在该位置可以跳跃的最大长度。  判断你是否能够到达最后一个位置。
思路:
较简单,与第45题思路类似
程序:
class Solution:
    def canJump(self, nums: List[int]) -> bool:
        length = len(nums)
        if length <= 0:
            return False
        if length == 1:
            return True
        boundary = 0
        auxiliary_length = 0
        for index in range(length):
            auxiliary_length = max(auxiliary_length, nums[index] + index)
            if index == boundary:
                boundary = auxiliary_length
            if boundary >= length - 1:
                return True
                break
        return False


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 Leetcode练习(Python):数组类:第128题:给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 Leetcode练习(Python):数组类:第189题:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 Leetcode练习(Python):数组类:第217题:给定一个整数数组,判断是否存在重复元素。 如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。 [leetcode] 34. 在排序数组中查找元素的第一个和最后一个位置(Java) 给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。 Leetcode练习(Python):数组类:第11题:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 Leetcode练习(Python):排序类:第179题:最大数:给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。 生成一个长度为10的整数数组,数组中每个元素都不同(数组中值的范围为1~20) 在数组中查找元素的第一个和最后一个位置 题1:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM