動態規劃的題目
題目:換錢的最少貨幣數
題目內容:
給定陣列arr,arr中所有的值都為正整數且不重複。每個值代表一種面值的貨幣,每種面值的貨幣可以使用任意張,再給定乙個aim,代表要找的錢數,求組成aim的最少貨幣數。
如果無解,請返回-1.
【要求】
時間複雜度o(n \times aim)o(n×aim),空間複雜度on。
樣例:
輸入[5,2,3],20
返回值4
輸入[5,2,3],0
返回值0
解題過程:
dp[i] 表示組成 i 的最少貨幣數,以是否選用 一張當前面值貨幣作為推導,起始值設為0,陣列其餘元素設為1e9方便推導。
int dp[
6000];
dp[0]=
0;for(
int i=
1;i<=aim;i++
)dp[j]
=min
(dp[j]
,dp[j-arr[i]]+
1);
有解輸出 dp[aim] 否則輸出 -1
if
(dp[aim]
==1e9
)return-1
;else
return dp[aim]
;
全部**:
class
solution
for(
int i=
0;isize()
;i++)}
if(dp[aim]
==1e9
)return-1
;else
return dp[aim];}
};
寒假練習 Master Mind Hints
樣例 sample input 41 3 5 5 1 1 2 3 4 3 3 5 6 5 5 1 6 1 3 5 1 3 5 5 0 0 0 0 101 2 2 2 4 5 6 6 6 9 1 2 3 4 5 6 7 8 9 1 1 1 2 2 3 3 4 4 5 5 1 2 1 3 1 5 1 6...
寒假練習 07
斷斷續續終於刷完了計算幾何專題,感覺太麻煩,小錯誤不斷,尤其是精度問題。還有輸出問題,有時候printf比cout要方便。給出正方形的一組對角座標,求另外兩個座標,用三角函式推到公式。不妨設兩點為a x1,y1 c x2,y2 則中點為g x1 x2 2,y1 y2 2 對角線長度為l sqrt x...
DP套題練習3
t1 火車站內往往設有一些主幹線分叉出去的鐵路支路,供火車停靠,以便上下客或裝載貨物鐵路支路有一定長度 火車也有一定的長度,且每列火車的長度相等.假設某東西向的鐵路上,有一小站.該站只有一條鐵路支路可供火車停靠,並且該鐵路支路最多能容納 m 輛火車為了火車行駛的通暢,該站只允許火車自東方進站,自西方...