当前位置:网站首页>力扣:518. 零钱兑换 II
力扣:518. 零钱兑换 II
2022-08-09 22:11:00 【empty__barrel】
力扣:518. 零钱兑换 II
题目:
给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。
请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。
假设每一种面额的硬币有无限个。
题目数据保证结果符合 32 位带符号整数。
dp数组含义:
dp[j]:凑成总金额j的货币组合数为dp[j]
递推公式:
dp[j] += dp[j - coins[i]];
初始化:
- 首先dp[0] = 1从dp[i]的含义上来讲就是,凑成总金额0的货币组合数为1。
- 下标非0的dp[j]初始化为0,这样累计加dp[j - coins[i]]的时候才不会影响真正的dp[j]
遍历顺序:
完全背包问题同时又是组合,所以是从小到大遍历,是首先for物品然后嵌套for背包容量。
代码:
class Solution {
public:
int change(int amount, vector<int>& coins) {
vector<int> dp(amount+1,0);
dp[0] = 1;
int bagweight = amount;
for(int i = 0; i < coins.size(); ++i){
for(int j = coins[i]; j <= bagweight; ++j){
dp[j] += dp[j-coins[i]];
}
}
return dp[amount];
}
};
边栏推荐
猜你喜欢

金仓数据库 KingbaseGIS 使用手册(6.5. 几何对象编辑函数)

Vmware中安装win7虚拟机以及相关简单知识

都在说云原生,那云原生到底是什么?

ArrayList 和 LinkedList 区别

(转)FreeType字体位图属性

为什么刀具数据库无法打开?

三:OpenCV图片颜色通道数据转换

ElasticSearcch集群

【Burning】It's time to show your true strength!Understand the technical highlights of the 2022 Huawei Developer Competition in one article

“我“是一名测试/开发程序员,小孙的内心独白......
随机推荐
多线程是同时执行多个线程的吗
tiup cluster upgrade
金仓数据库 KingbaseGIS 使用手册(6.3. 几何对象创建函数)
直播预告 | ICML 2022 11位一作学者在线分享神经网络,图学习等前沿研究
matplotlib散点图颜色分组图例
一体化伺服电机在三轴钻孔机中的应用
集群的基础形式
leetcode 20. Valid Parentheses 有效的括号(中等)
干涉BGP的选路---社团属性
H5实现分享功能
mysql中的key是怎么用的,或者这个值有什么意义,如下图?
JS中表单操作、addEventListener事件监听器
如何知道电脑开机记录?
Bi Sheng Compiler Optimization: Lazy Code Motion
leetcode:332. 重新安排行程
金仓数据库 KingbaseGIS 使用手册(6.2. 管理函数)
【技术分享】SLA(服务等级协议)原理与配置
Qt 消息机制和事件
Janus Official DEMO Introduction
数字与中文大写数字互转(5千万亿亿亿亿以上的数字也支持转换)