电子商务专业网站设计网站建设哪个公司做得好些
web/
2025/10/3 6:05:58/
文章来源:
电子商务专业网站设计,网站建设哪个公司做得好些,哪个网站可以做水果销售代理,手机 写wordpress题目 给你一个整数数组 coins #xff0c;表示不同面额的硬币#xff1b;以及一个整数 amount #xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额#xff0c;返回 -1 。 你可以认为每种硬币的数量是无限的。…题目 给你一个整数数组 coins 表示不同面额的硬币以及一个整数 amount 表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额返回 -1 。 你可以认为每种硬币的数量是无限的。 示例 1 输入coins [1, 2, 5], amount 11 输出3 解释11 5 5 1 示例 2 输入coins [2], amount 3 输出-1 示例 3 输入coins [1], amount 0 输出0
解题思路 本题是完全背包问题用dp[j]表示组合和为j的最少个数可以确定递推公式为dp[j]min(dp[j-coins[i]]1, dp[j]). 初值dp[0]0.最后返回dp[amount]。
代码实现
class Solution {
public:int coinChange(vectorint coins, int amount) {vectorint dp(amount1,INT_MAX);dp[0] 0;for (int i0;icoins.size();i) {for (int jcoins[i];jamount;j) {if (dp[j-coins[i]] ! INT_MAX) {dp[j] min(dp[j-coins[i]]1, dp[j]);}}}if (dp[amount]INT_MAX) {return -1;}return dp[amount];}
};
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86056.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!