45 跳躍遊戲 II

2021-10-25 04:17:27 字數 546 閱讀 9267

class

solution

(object):

defjump

(self, nums)

:"""

:type nums: list[int]

:rtype: int

"""n =

len(nums)

end, max_position, step =0,

0,0for i in

range

(n-1):

max_position =

max(max_position, i + nums[i]

)if i == end:

end = max_position

step +=

1return step

思路

貪心法,每次找到截止到邊界能達到的最遠距離,時間複雜度o(n),空間複雜度o(1)。

注意點

一開始想成了深搜,超時了,其實貪心可以解決。

45 跳躍遊戲 II

給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。你的目標是使用最少的跳躍次數到達陣列的最後乙個位置。示例 輸入 2,3,1,1,4 輸出 2 解釋 跳到最後乙個位置的最小跳躍數是 2。從下標為 0 跳到下標為 1 的位置,跳 1 步,然後跳 3 步...

45 跳躍遊戲 II

貪心 每一步都挑選下一步能達到的最遠距離。2,3,1,1,4 1 2 3 4 5 以下數字指代下標1 5.第一次可以跳到下標2或者3,如果跳到2,下一步最遠可以跳到5,如果跳到3,下一步只能跳到4,所以這一次選擇跳到2。如果某一步的最遠距離跨過了5或者到達了5,說明可以跳到終點。本題已經說了肯定可以...

45 跳躍遊戲 II

題目描述 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。你的目標是使用最少的跳躍次數到達陣列的最後乙個位置。示例 輸入 2,3,1,1,4 輸出 2 解釋 跳到最後乙個位置的最小跳躍數是 2。從下標為 0 跳到下標為 1 的位置,跳 1 步,然後...