寒假演算法題練習3

2021-10-25 12:52:59 字數 998 閱讀 1766

動態規劃的題目

題目:換錢的最少貨幣數

題目內容:

給定陣列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 輛火車為了火車行駛的通暢,該站只允許火車自東方進站,自西方...