贪心算法硬币找零问题python
时间: 2023-07-04 12:15:43 浏览: 157
贪心算法是什么,用Python实现一个例子
好的,下面是一个基于贪心算法的 Python 代码,用于解决硬币找零问题:
```python
def coinChange(coins, amount):
coins.sort(reverse=True)
res = 0
for coin in coins:
if amount >= coin:
res += amount // coin
amount %= coin
if amount != 0:
return -1
return res
```
其中,`coins` 表示硬币的面值列表,`amount` 表示需要找零的总金额。函数首先将硬币列表按面值从大到小排序,然后从大到小遍历硬币列表,每次都尽可能地使用面值最大的硬币,直到找零的金额为 0 或者无法再用更大面值的硬币找零为止。如果最终找零的金额不为 0,则说明无法找零,返回 -1;否则,返回找零所需的最少硬币数量。
阅读全文