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