55 跳躍遊戲

2021-10-23 01:49:15 字數 721 閱讀 2281

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

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

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

示例 1:

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

輸出: true

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

示例 2:

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

輸出: false

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

思路:

貪心思想

如果某乙個作為 起跳點 的格仔可以跳躍的距離是 3,那麼表示後面 3 個格仔都可以作為 起跳點。

可以對每乙個能作為 起跳點 的格仔都嘗試跳一次,把 能跳到最遠的距離 不斷更新。

如果可以一直跳到最後,就成功了。

class

solution

return

true;}

}

或者從後向前遍歷:

public

class

solution

}return lastpos ==0;

}}

55 跳躍遊戲

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

55 跳躍遊戲

動態規劃 f i 表示當前所能跳躍到的最大索引 class solution def canjump self,nums list int bool if len nums 1 return true 當前所能跳躍到的最遠索引 maxindex 0for i in range len nums 1 ...

55 跳躍遊戲

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