跳躍遊戲II(最少的可達跳躍次數)

2021-10-21 13:52:00 字數 575 閱讀 6601

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

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

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

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

輸出: 2

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

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

首先題目給出的陣列是一定可達的,那麼最多跳數就是size - 1;要想跳數最少,必須到非跳不可的時候才往前跳一步,根據判斷當前跳可覆蓋的範圍,找到在這麼範圍中能跳的最遠的下乙個範圍,然後當當前已經移動到了當前範圍的末尾,說明必須要往前跳了,也就是說我們每次都是跳當前能到的最大位置,但是要把當前能跳的範圍中的下乙個跳躍範圍的最大值找到,如果這個值能夠覆蓋到最遠位置,說明我們此時的跳躍次數就是最少的可達次數

int

jump

(vector<

int>

& nums)

}return result;

}

跳躍遊戲II

首先我們先明確 題目條件提示我們總是可以到達最後乙個節點,那麼該題與跳躍遊戲之間有什麼不同呢?首先本題已經假設我們總是可以到達最後乙個點,所以我們不用再判斷是否可以到達最後乙個位置,其次,本題要求跳躍次數最少,那麼我們如何從跳躍遊戲的相關思路解決這道題呢?要求跳躍次數最少,那麼本質上還是每次都要盡量...

跳躍遊戲II

跳躍遊戲ii 給出乙個非負整數陣列,你最初在陣列第乙個元素的位置 陣列中的元素代表你在這個位置可以跳躍的最大長度 你的目標是用最少的跳躍次數來到達陣列的最後乙個元素的位置 例如給出陣列 a 2,3,1,1,4 最少需要兩次才能跳躍到陣列最後乙個元素的位置。從陣列下標為0的位置跳長度1到達下標1的位置...

跳躍遊戲 II

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