因為本身dp其實是會的
而且注意到面試官給的空間複雜度是n,所以就放棄了dp
想用deep解決結果超時了,自己坑了自己
這是原版**,如果arr不大的話是沒啥問題的。。
491532
?channel=
666&source_id=home_feed
function
minmoney
( arr , aim )
for(
let i=
0;ideep(0
,0)return f?res:-1
;}後面去力扣找到了優化的方案,先排序,然後有點貪心私心
var
minmoney
=function
(coins, amount)
if(index === len)
return
;for
(let k =
(amount / coins[index])|
0; k >=
0&& k + count < ans; k --)}
};
這樣會比我的原版優化特別多,雖然看起來還是一種數量級 動態規劃5 找零錢問題
題目 有陣列penny,penny中所有的值都為正數且不重複。每個值代表一種面值的貨幣,每種面值的貨幣可以使用任意張,再給定乙個整數aim 小於等於1000 代表要找的錢數,求換錢有多少種方法。給定陣列penny及它的大小 小於等於50 同時給定乙個整數aim,請返回有多少種方法可以湊成aim。樣例...
動態規劃 找零錢問題 收藏
view plaincopy to clipboardprint?include using namespace std const int m 1000 const int n 3 int coint n int count m 1 count i 表示湊合數量為i所需最少的錢幣數量,則count...
找零錢問題 動態規劃 python
問題描述 設有n種不同面值的硬幣,各硬幣的面值存於陣列t 1 n 中。現要用這些面值的硬幣來找錢,可以實用的各種面值的硬幣個數不限。當只用硬幣面值t 1 t 2 t i 時,可找出錢數j的最少硬幣個數記為c i,j 若只用這些硬幣面值,找不出錢數j時,記c i,j 程式設計任務 設計乙個動態規劃演算...