算法實踐:leetcode45 跳躍遊戲II

跳躍遊戲II

描述

給定一個非負整數數組,你最初位於數組的第一個位置。

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

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

樣例

輸入: [2,3,1,1,4]
輸出: 2
解釋: 跳到最後一個位置的最小跳躍數是 2。
     從下標爲 0 跳到下標爲 1 的位置,跳 1 步,然後跳 3 步到達數組的最後一個位置。

難度

中,貪心

代碼

class Solution {
public:
    int jump(vector<int> &nums)
    {
        int count = 0;
        int start = 0;
        int end = 1;
        while (end < nums.size()){
            int Max = 0;
            for (int i = start; i < end; i++){
                Max = max(Max, i + nums[i]);
            }
            start = end;      
            end = Max + 1; 
            count++;            
        }
        return count;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章