貪心
由區域性最優匯出全域性最優。對於該點能跳到的所有點
loc+1~nums[loc]
,考慮跳到之後還能跳多遠k+nums[loc+k]
,哪個點最遠就跳到哪。學習題解的寫法
貪心的思想不變:還是找目前最有利的選擇來構成全域性最佳!在每一跳內找下一次的最遠距離!
maxpos為在考慮範圍內能找到的跳到的最遠的地方。
i==end意味著
對於原來的點來說能考慮的起跳點只能考慮到這
,應該在【原來點,end】之間選出乙個點起跳跳到最遠的maxpos,因此step++。例如對於[2,3,1,2,4,2,3]
maxpos=0+nums[0]=2;end=2;因此在1~2的範圍內找最好的起跳點,為第1個點——3, end=nums[1]+1=4
class
solution
}return step;}}
;
Leetcode 45 跳躍遊戲
給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。你的目標是使用最少的跳躍次數到達陣列的最後乙個位置。示例 輸入 2,3,1,1,4 輸出 2 解釋 跳到最後乙個位置的最小跳躍數是 2。從下標為 0 跳到下標為 1 的位置,跳 1 步,然後跳 3 步...
leetcode 45 跳躍遊戲
給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。你的目標是使用最少的跳躍次數到達陣列的最後乙個位置。示例 輸入 2,3,1,1,4 輸出 2 解釋 跳到最後乙個位置的最小跳躍數是 2。從下標為 0 跳到下標為 1 的位置,跳 1 步,然後跳 3 步...
leetcode45 跳躍遊戲 II
1.題目 給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。你的目標是使用最少的跳躍次數到達陣列的最後乙個位置。2.示例 輸入 2,3,1,1,4 輸出 2 解釋 跳到最後乙個位置的最小跳躍數是 2。從下標為 0 跳到下標為 1 的位置,跳 1 步,...