AlgoMooc

H100016. 零钱兑换 ACM 版

中等

通过率 0% · 提交 0 · 通过 0

Hot100 ACM 开放训练 · 配套 LeetCode 322 图解动画 · 标准输入输出练习看动画讲解

给定 n 种硬币面额 coins 和目标金额 amount。每种硬币可以使用任意多次,请输出凑成 amount 所需的最少硬币数。若无法凑成,输出 -1。

这题属于 Hot100 ACM 开放训练中的「完全背包」方向。建议先看动画确认核心思路,再回到右侧编辑器按标准输入输出写完整代码。

输入描述

第一行输入两个整数 n 和 amount。第二行输入 n 个正整数,表示 coins。

输出描述

输出一个整数,表示最少硬币数。

示例

示例 1

输入示例

3 11
1 2 5

输出示例

3
说明:11 = 5 + 5 + 1。

时间限制 2000 ms · 内存限制 256 MB