669.换硬币
题目
给出不同面额的硬币以及一个总金额. 写一个方法来计算给出的总金额可以换取的最少的硬币数量. 如果已有硬币的任意组合均无法与总金额面额相等, 那么返回 -1.
样例1
输入:
[1, 2, 5]
11
输出: 3
解释: 11 = 5 + 5 + 1
样例2
输入:
[2]
3
输出: -1
代码
1 | class Solution: |
总结
运行结果还不错,但是动态规划类题,还是那个经典两问:
- 能否继续优化时间空间复杂度
- 还有没有其他的算法解决
-------------本文结束感谢您的阅读-------------