LeetCode 45 跳躍遊戲 II

2022-06-06 12:57:09 字數 705 閱讀 8577

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

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

你的目標是使用最少的跳躍次數到達陣列的最後乙個位置。

說明:假設你總是可以到達陣列的最後乙個位置。

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

輸出: 2

解釋: 跳到最後乙個位置的最小跳躍數是 2。從下標為 0 跳到下標為 1 的位置,跳 1 步,然後跳 3 步到達陣列的最後乙個位置。

class solution 

return dp[0];

}};

使用dp儲存當前位置到終點需要的最小跳躍數量。從後往前遍歷,在pos~ max_pos範圍中尋找剩餘最小跳躍數量。

class solution 

}return res;

}};

貪心演算法的核心思想是找出每乙個點的區域性最優解,最終得到全域性最優解。使用貪心演算法,我們只需要做一次遍歷。在遍歷過程中,需要記錄一次跳躍的最遠距離"pre_max",每次達到"pre_max"之前,記錄當前能到達的最遠位置"max_pos"。到"pre_max"時,將該值設定為"max_pos",步數加1(這一步一定是在上一次pre_max和這一次pre_max之間跳的,具體哪次跳的我們不關心也不知道),進行下一輪判斷。

Leetcode 45 跳躍遊戲

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

Leetcode 45 跳躍遊戲

貪心 由區域性最優匯出全域性最優。對於該點能跳到的所有點loc 1 nums loc 考慮跳到之後還能跳多遠k nums loc k 哪個點最遠就跳到哪。學習題解的寫法 貪心的思想不變 還是找目前最有利的選擇來構成全域性最佳!在每一跳內找下一次的最遠距離!maxpos為在考慮範圍內能找到的跳到的最遠...

leetcode 45 跳躍遊戲

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