給你乙個整數陣列 arr 和乙個整數 d 。每一步你可以從下標 i 跳到:
除此以外,你從下標 i 跳到下標 j 需要滿足:arr[i] > arr[j] 且 arr[i] > arr[k]
,其中下標 k 是所有i 到 j 之間的數字(更正式的,min(i, j) < k < max(i, j)
)。
你可以選擇陣列的任意下標開始跳躍。請你返回你最多可以訪問多少個下標。
請注意,任何時刻你都不能跳到陣列的外面。
示例 1:
輸入:arr =[6
,4,14
,6,8
,13,9
,7,10
,6,12
], d =
2輸出:4
解釋:你可以從下標 10 出發,然後如上圖依次經過 10
-->8--
>6--
>
7 。注意,如果你從下標 6 開始,你只能跳到下標 7 處。你不能跳到下標 5 處因為 13
>
9 。你也不能跳到下標 4 處,因為下標 5 在下標 4 和 6 之間且 13
>
9 。類似的,你不能從下標 3 處跳到下標 2 或者下標 1 處。
示例 2:
輸入:arr =[3
,3,3
,3,3
], d =
3輸出:1
解釋:你可以從任意下標處開始且你永遠無法跳到任何其他座標。
示例 3:
輸入:arr =[7
,6,5
,4,3
,2,1
], d =
1輸出:7
解釋:從下標 0 處開始,你可以按照數值從大到小,訪問所有的下標。
示例 4:
輸入:arr =[7
,1,7
,1,7
,1], d =
2輸出:2
示例 5:
輸入:arr =[66
], d =
1輸出:1 1
<= arr.length <=
1000
1<= arr[i]
<=10^
51<= d <= arr.length
相關題目:
leetcode 55. 跳躍遊戲(貪心)
leetcode 45. 跳躍遊戲 ii(貪心/bfs,難)
leetcode 1306. 跳躍遊戲 iii(廣度優先搜尋bfs)
leetcode 1345. 跳躍遊戲 iv(bfs)
leetcode lcp 09. 最小跳躍次數
class
solution
for(j = idx+
1; j <= idx+d && j
> arr[j]
; j++)}
return
*max_element
(dp.
begin()
,dp.
end())
;//取最大值}}
LeetCode 1340 跳躍遊戲 V
把每乙個位置看作圖上的乙個點,是乙個有向無環圖,因為必須向比當前位置的高度低的地方跳,不能反過來跳。就是求一條最長路徑。對於每乙個點來說,由於是有向無環圖,它的最長路徑是確定的,所以我們可以記錄每乙個點的最長路徑,加快dfs,複雜度o n class solution record u ans 1 ...
leetcode 1340 跳躍遊戲 V
給你乙個整數陣列 arr 和乙個整數 d 每一步你可以從下標 i 跳到 i x 其中 i x arr.length 且 0 x d i x 其中 i x 0 且 0 x d 除此以外,你從下標 i 跳到下標 j 需要滿足 arr i arr j 且 arr i arr k 其中下標 k 是所有 i ...
python lintcode116 跳躍遊戲
給出乙個非負整數陣列,你最初定位在陣列的第乙個位置。陣列中的每個元素代表你在那個位置可以跳躍的最大長度。判斷你是否能到達陣列的最後乙個位置。這個問題有兩個方法,乙個是貪心和動態規劃。貪心方法時間複雜度為o n 動態規劃方法的時間複雜度為為o n 2 我們手動設定小型資料集,使大家可以通過測試的兩種方...