当前为游客只读模式。登录后可提交代码判题并保存草稿与进度。
练题计划 · 算法机考精选 15 题
零钱兑换
中等coinChange()时间限制 2000 ms内存限制 128 MB复杂度要求 时间 O(amount * n),空间 O(amount)
零钱兑换
给你一个整数数组 coins,表示不同面额的硬币;以及一个整数 amount,表示总金额。
计算并返回可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。
你可以认为每种硬币的数量是无限的。
约定
1 <= coins.length <= 121 <= coins[i] <= 2^31 - 10 <= amount <= 10^4- 每种硬币的数量无限。
输入
coins:硬币面额数组amount:目标总金额
输出
凑成 amount 所需的最少硬币数;无法凑出时返回 -1。
示例一
输入:
coins = [1, 2, 5], amount = 11
输出:
3
解释:11 = 5 + 5 + 1。
示例二
输入:
coins = [2], amount = 3
输出:
-1
示例三
输入:
coins = [1], amount = 0
输出:
0
复杂度要求
- 时间复杂度:
O(amount * n),n为硬币种数 - 空间复杂度:
O(amount)
Loading...
输入
[[1,2,5],11]
预期输出
3