LeetCode 55 跳躍遊戲

2021-10-25 02:05:59 字數 819 閱讀 9011

給定乙個非負整數陣列,你最初位於陣列的第乙個位置。

陣列中的每個元素代表你在該位置可以跳躍的最大長度。

判斷你是否能夠到達最後乙個位置。

示例 1:

輸入: [2,3,1,1,4]

輸出: true

解釋: 我們可以先跳 1 步,從位置 0 到達 位置 1, 然後再從位置 1 跳 3 步到達最後乙個位置。

示例 2:

輸入: [3,2,1,0,4]

輸出: false

解釋: 無論怎樣,你總會到達索引為 3 的位置。但該位置的最大跳躍長度是 0 , 所以你永遠不可能到達最後乙個位置。

解題思路:看到這道題我的第乙個想法是遍歷這個陣列,然後在每乙個位置都進行跳躍以示例1為例,遍歷到2時我們可以跳一下到3也可以跳兩下到1,然後遞迴呼叫跳到的每乙個位置直到遞迴結束或者便利到陣列的最後乙個位置,但是這個思路在測試用例長度很長時會出現超時的錯誤。後來看到別人的解答,解題思路為,如果從a位置能夠最遠跳到b位置,那麼a和b之間的所有點都能夠跳到,如果遍歷陣列之後最遠能夠到達的位置超過陣列的長度那麼就可以到達最後乙個位置。ac**如下:

class solution:

def canjump(self, nums: list[int]) -> bool:

max_location = 0

for i, jump in enumerate(nums):

if max_location >= i and i + jump > max_location:

max_location = i + jump

return max_location >= i

LeetCode55 跳躍遊戲

leetcode55.跳躍遊戲 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。示例 1 輸入 2,3,1,1,4 輸出 true 解釋 從位置 0 到 1 跳 1 步,然後跳 3 步到達最後乙個位置。示例 2 輸入...

LeetCode 55 跳躍遊戲

題目鏈結 題目描述 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。示例輸入 2,3,1,1,4 輸出 true 解釋 從位置 0 到 1 跳 1 步,然後跳 3 步到達最後乙個位置。輸入 3,2,1,0,4 輸出 ...

LeetCode 55 跳躍遊戲

問題 給定乙個非負整數陣列,你最初位於陣列的第乙個位置,陣列中的每個元素代表你在該位置可以跳躍的最大長度,判斷你是否能夠到達最後乙個位置。示例 1 輸入 2,3,1,1,4 輸出 true 解釋 從位置 0 到 1 跳 1 步,然後跳 3 步到達最後乙個位置。示例 2 輸入 3,2,1,0,4 輸出...