4 4換錢的方法數

2021-09-14 06:47:38 字數 887 閱讀 4880

題目

給定陣列arr,arr中所有的值都為正數且不重複。每個值代表一種面值的貨幣,每種面值的貨幣可以使用任意張,再給定乙個整數aim代表要找的錢數,求換錢有多少種方法。

**實現
public

intcoins1

(int

arr,

int aim)

int[

] dp =

newint

[arr.length]

[aim +1]

;//dp[i][j]的含義是在使用arr[0...i]貨幣的情況下,組成錢數j有多少種方法

for(

int i =

0; i < arr.length; i++

)for

(int j =

1; arr[0]

* j <= aim; j++

)for

(int i =

1; i < arr.length; i++)}

return dp[arr.length -1]

[aim];}

//壓縮輔助空間

public

intcoins2

(int

arr,

int aim)

int[

] dp =

newint

[aim +1]

;for

(int j =

0; arr[0]

* j <= aim; j++

)for

(int i =

1; i < arr.length; i++)}

return dp[aim]

;}

換錢的方法數

題目 給定陣列arr,arr中所有的值都為整數且不重複。每個值代表一種面值的貨幣,每種面值的貨幣可以使用任意張,再給定乙個整數代表要找的錢數,求換錢有多少種方法。舉例 arr 5,10,25,1 aim 0 組成0元的方法有1種,就是所有面值的貨幣都不用。所以返回1。arr 5,10,25,1 ai...

換錢的方法數

1.給定陣列arr,arr中所有的值都為正數且不重複。每個值代表一種面值的貨幣,每種貨幣都可以使用任意張,再給定乙個整數aim代表要找的錢數,求組成aim的最少貨幣數。方法一 暴力遞迴 遞迴部分 a index i就是用幾張a index process a,0,target defprocess ...

換錢的方法數

題目 給定陣列arr,所有元素都為正數且不重複。每個值代表一種面值的貨幣,每種面值的貨幣可以使用任意張,再給定乙個整數aim代表要找的錢數,求換錢有多少種方法。舉例 arr 5,10,25,1 aim 0 返回1。組成0元的方法有一種,即所有貨幣都不用 arr 3,5 aim 2 返回0。無法組成2...