45. Jump Game II
題目網址:https://leetcode.cn/problems/jump-game-ii/
題意:給一非負整數 array
nums
, 你最初位於nums
的第一個位置。
nums
中的每個元素代表你在該位置可以跳躍的最大長度。假設你總是可以到達
nums
的最後一個位置。返回到達
nums
的最後一個位置所需的最少的跳躍次數。
Solution:
想法:利用 Greedy, 用
[start, end]
來記錄每次跳躍的區間, 而maxPos
則是用來紀錄[start, end]
中所能跳躍的最遠 index。若end ≥ nums.size() - 1
代表上一次跳躍已能抵達nums
的終點, 因此結束循環
class Solution { |
- time:$O(n)$ ➔ 遍歷
nums
- space:$O(1)$ ➔ 只需常數空間
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論