找零錢的非動態規劃解決方案

2021-10-23 22:57:34 字數 609 閱讀 6718

因為本身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 程式設計任務 設計乙個動態規劃演算...