55 跳躍陣列

2021-09-10 04:14:00 字數 1111 閱讀 6749

55. 跳躍遊戲

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

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

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

示例 1:

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

輸出:true

解釋:從位置 0 到 1 跳 1 步, 然後跳 3 步到達最後乙個位置。

示例 2:

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

輸出:false

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

二.自我探尋

思路:要看懂  陣列中的0是關鍵  只要所有的0都能邁過,就說明能到最後一步。

**:class solution

else if(reachable(i, nums)==1)}}

return true;

}public static int reachable(int i,int nums)

}return 0;

}   

}評價:

另乙個思路 貪心演算法 設定乙個變數maxreach 代表從0點開始最大能達到的距離,若maxreach不能到達當前的點,則返回false

**:class solution

maxreach=math.max(maxreach, i+nums[i]);

}return true;}}

評價:

這種雖然慢了1ms,但其思路更具有推廣性。

四.python實現

暫無

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 ...