思路
在上一章里我们使用了线性dp的思路解决本题。而本题同时也可以使用完全背包模型解决。
本问题可以建模成:
给定一个物品数组a1,a2,...,an 分别代表它们的容积。使用最少的物品装满容积为amount的背包。每个物品有无限个
做过了第一题,大家先自行想想本题的状态和转移。
给你一个整数数组 coins,表示不同面额的硬币;以及一个整数 amount ,表示总金额。
计算并返回可以凑成总金额所需的最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 −1 。
你可以认为每种硬币的数量是无限的。
第一行一个数组coins 第二行一个整数amount
一个整数表示可以凑成总金额所需的最少的硬币个数
输入
1 2 5
11
输出
3
11=5+5+1
输入
2
3
输出
-1
输入
1
0
输出
0
提示: