A27081. 下面代码采用动态规划求解零钱兑换问题:给定n种硬币,第i种硬币的面值为 coins[i-1] ,目标金额为amt,每种硬币可以重复选取,求能够凑出目标金额的最少硬币数量;如果不能凑出目标金额,返回 -1 。( )int coinchangeDPcomp(vector<int>&coins,int amt){ int n=coins.size(); int MAX = amt + 1; vecto…
判断题
困难
知识点
题目描述
下面代码采用动态规划求解零钱兑换问题:给定n种硬币,第i种硬币的面值为 coins[i-1] ,目标金额为amt,每种硬币可以重复选取,求能够凑出目标金额的最少硬币数量;如果不能凑出目标金额,返回 -1 。( )
int coinchangeDPcomp(vector<int>&coins,int amt){
int n=coins.size();
int MAX = amt + 1;
vector<int>dp(amt +1,MAX);
dp[e]= 0;
for(int i=1;i<= n; i++){
for(int a=1;a<= amt; a++){
if(coins[i-1]>a)
dp[a]= dp[a];
else
dp[a]=min(dp[a],dp[a-coins[i-1]]+ 1);
}
}
return dp[amt]!=MX ?dp[amt]:-1;
}选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员
上一题
下一题