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