LeetCode 656 金幣路徑(DP)

2021-10-09 03:30:44 字數 1122 閱讀 4013

給定乙個陣列 a(下標從 1 開始)包含 n 個整數:a1,a2,……,an和乙個整數 b。

你可以從陣列 a 中的任何乙個位置(下標為 i)跳到下標i+1,i+2,……,i+b的任意乙個可以跳到的位置上。

如果你在下標為 i 的位置上,你需要支付 ai 個金幣。

如果 ai 是-1,意味著下標為 i 的位置是不可以跳到的。

現在,你希望花費最少的金幣從陣列 a 的 1 位置跳到 n 位置,你需要輸出花費最少的路徑,依次輸出所有經過的下標(從 1 到 n)。

如果有多種花費最少的方案,輸出字典順序最小的路徑。

如果無法到達 n 位置,請返回乙個空陣列。

樣例 1

:輸入:[1

,2,4

,-1,

2],2

輸出:[1,

3,5]

樣例 2

:輸入:[1

,2,4

,-1,

2],1

輸出:

注釋 :

路徑 pa1,pa2,……,pan 是字典序小於 pb1,pb2,……,pbm 的,

當且僅當第乙個 pai 和 pbi 不同的 i 滿足 pai < pbi,

如果不存在這樣的 i 那麼滿足 n < m。

a1 >=

0。 a2,..

., an (如果存在) 的範圍是 [-1

,100

]。a 陣列的長度範圍 [1,

1000].

b 的範圍 [1,

100]

.

class

solution

;for

(i =

0; i < n-

1; i++

)else

if(dp[i+len]

== dp[i]

+a[i+len])}

}}return path[n-1]

;}};

52 ms 22 mb

我的csdn部落格位址

leetcode 簡化路徑

問題描述 a b c簡化後為 c a b.簡化後為 c 問題解析 將字串轉換為istringstream流,進行字串分割,是 並且進入一層目錄,則進行回退 pop back 如果是目錄,則儲存目錄 如果是 並且沒有目錄級可回退,則在根目錄下 若為 或者為空 兩個 則跳過 使用getline對字串進行...

leetcode 簡化路徑

給定乙個文件 unix style 的完全路徑,請進行路徑簡化。例如,path home home path a b c c 邊界情況 你是否考慮了 路徑 的情況?在這種情況下,你需返回 此外,路徑中也可能包含多個斜槓 如 home foo 在這種情況下,你可忽略多餘的斜槓,返回 home foo ...

LeetCode 路徑總和

給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,5 4 8 11 13 4 7 2 1 如下 definition for a binary tree nod...