摘要:
题目描述 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 动态规划 本题与爬楼梯很相似,可以从最后一个组成面额的最后一个硬币考虑。例如组成面额5(dp[5])的最后一 阅读全文
摘要:
二位列表去重 去除一维数组中的重复元素用unique()函数,如果要去除二维数组中的重复行该怎么操作呢? def remove_duplicate(nums:List[List[int]]): for v in nums: v.sort() nums = set([tuple(v) for v in 阅读全文
摘要:
题目描述 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 输入:coins = [1, 2, 3], amoun 阅读全文
摘要:
从贪心说起 我们知道贪心算法可以解决「硬币找零问题」,但是那只是在部分情况下可以解决而已。 那么有什么情况下不能用贪心算法吗?比如一个算法星球的央行发行了奇葩币,币值分别为{1、5、11},要凑够15元,这个时候贪心算法就失效了。 按照贪心算法的策略,我们先拿出最大面值的11,剩下的4个分别对应四个 阅读全文