給定陣列arr,arr中所有的值都為正數且不重複。每個值代表一種面值的貨幣,每種面值的貨幣可以使用任意張,在給定乙個整數aim代表要找的錢數,求組成aim的最少貨幣數。
**:
publicclass
mincoins
int len =arr.length;
int max =integer.max_value;
int dp = new
int[len][aim+1];
//初始化陣列
for(int j=1; j<(aim+1); j++)
}int left=0;
for(int i=1; i)
dp[i][j] = math.min(dp[i-1][j], left);}}
for (int
rows : dp)
system.out.println();
}return dp[len-1][aim] == max ? -1 :dp[len-1][aim];
}public
static
void
main(string args) ;
system.out.println(mincoins(arr,20));
}}
給定陣列arr,arr中所有的值都為正數且不重複。每個值代表一種面值的貨幣,在給定乙個整數aim代表要找的錢數,求組成aim的最少貨幣數。
注意:此處只能用陣列中的數,並且每個只能用一次。
**:
publicclass
mincoins
int len =arr.length;
int max =integer.max_value;
int dp = new
int[len][aim+1];
//初始化陣列
for(int j=1; j<(aim+1); j++)
}int left=0;
for(int i=1; i)
dp[i][j] = math.min(dp[i-1][j], left);}}
for (int
rows : dp)
system.out.println();
}return dp[len-1][aim]==max ? -1 : dp[len-1][aim];
}public
static
void
main(string args) ;
system.out.println(mincoins(arr,15));
}}
換錢的最少貨幣數
題目 給定陣列arr,arr中所有的值都為正數且不重複。每個值代表一種面值的貨幣,每種面值的貨幣可以使用任意張,再給定乙個整數aim代表要找的錢數,求組成aim的最少貨幣數。舉例 arr 5,2,3 aim 20。4張5元可以組成20元,其他的找錢方案都要使用更多張的貨幣,所以返回4。arr 5,2...
換錢的最少貨幣數
題目一 給定陣列arr,arr中所有的值都為正數。每個值代表一種面值的貨幣,每種面值的貨幣可以使用任意張,再給定乙個整數aim代表要找的錢數,求組成aim的最少貨幣數。如 arr 5,2,3 aim 20.最少需要4張 解題思路 經典動態規劃一般分為3部,先求dp i j 矩陣中第一列的值,然後求d...
換錢的最少貨幣數
換錢的最少貨幣數 給定陣列arr,arr中所有的值都為正整數且不重複。每個值代表一種面值的貨幣,每種面值的貨幣可以使用任意張,再給定乙個 aim,代表要找的錢數,求組成aim的最少貨幣數。輸入描述 輸入包括兩行,第一行兩個整數n 0 n 1000 代表陣列長度和aim 0 aim 5000 第二行n...