python换零钱_python动态规划-零钱兑换
零钱兑换
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。
如果没有任何一种硬币组合能组成总金额,返回 -1。
示例 1:
输入: coins = [1, 2, 5], amount = 11
输出: 3
解释: 11 = 5 + 5 + 1
示例 2:
输入: coins = [2], amount = 3
输出: -1
说明: 你可以认为每种硬币的数量是无限的。
from typing import List
class Solution:
def coinChange(self, coins: List[int], amount: int) -> int:
dp = [-1 for _ in range(amount+1)]
dp[0]=0
for i in range(len(coins)):
if coins[i]
dp[coins[i]] = 1
for i in range(1,amount+1):
temp = []
for v in coins:
if i-v>=0 and dp[i-v]!=-1:
temp.append(dp[i-v]+1)
dp[i] = min(temp) if temp!=[] else -1
return dp[amount]
if __name__ == "__main__":
s= Solution()
coins = [1, 2, 5]
amount = 11
# coins = [2]
# amount = 3
r= s.coinChange(coins, amount)
print(r)
零钱兑换II
给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。
示例 1:
输入: amount = 5, coins = [1, 2, 5]
输出: 4
解释: 有四种方式可以凑成总金额:
5=5
5=2+2+1
5=2+1+1+1
5=1+1+1+1+1
示例 2:
输入: amount = 3, coins = [2]
输出: 0
解释: 只用面额2的硬币不能凑成总金额3。
示例 3:
输入: amount = 10, coins = [10]
输出: 1
from typing import List
class Solution:
def change(self, amount: int, coins: List[int]) -> int:
dp = [0 for _ in range(amount+1)]
dp[0] = 1
for value in coins:
for i in range(amount+1):
if i-value>=0:
dp[i] +=dp[i-value]
return dp[amount]
python换零钱_python动态规划-零钱兑换相关推荐
- python换硬币_Python的硬币兑换动态编程实现记录,CoinChange,最少,组合,python,规划
题目为给定不同面值的n种硬币,面值加起来等于一个特定的数m,求最少需要多少枚硬币实现. 这个问题如果使用暴力求解,需要穷举所有可以加起来等m的组合,时间复杂度为O(m^n). def coin_27_ ...
- python换硬币_Python 硬币兑换问题
硬币兑换问题: 给定总金额为A的一张纸币,现要兑换成面额分别为a1,a2,....,an的硬币,且希望所得到的硬币个数最少. # 动态规划思想 dp方程式如下 # dp[0] = 0 # dp[i] ...
- mac的python换字体_Python -mac-画图及设置坐标中文字体
最近有点闲暇时间,趁时学习一下Python,搭建好Python环境,环境搭建就不多说,网上很多教程,我使用的anaconda.然后开始了coding之路 import numpy as np impo ...
- python换源_python更换国内源
python安装之后默认是使用国外的源,使用pip下载模块网速不是很好,有时候下到一半还会断开连接,非常不方便,最好配置国内的源. Windows下: 在Windows配置源可参考下面两个博客: 在本 ...
- python换图片_Python给照片换底色(蓝底换红底)
环境要求 Python3 numpy函数库 opencv库 安装 下载适应版本的numpy函数库,我电脑是WIN10 64位,安装的函数库是 numpy-1.13.1+mkl-cp36-cp36m-w ...
- python换零钱有多少种方案_Python3算法实例 1.2:动态规划 之 换零钱
money.jpg 问题(基础版): 把100元兑换成1元,2元,5元,10元,20元,50元的零钱,共有多少种不同换法. 动态规划思想解析: 拆解子问题 下面以5元换成1,2,3元的零钱为例.T[( ...
- 某人去玩具店买小熊,小熊进价为20,卖价是30,付给老板100元,老板没有零钱,就在卖鞋的人那里换了100元零钱,找给卖家70,卖鞋的发现那100元是假币,于是找老板换回了100元,请问玩具店老板损失
某人去玩具店买小熊,小熊进价为20,卖价是30,付给老板100元,老板没有零钱,就在卖鞋的人那里换了100元零钱,找给卖家70,卖鞋的发现那100元是假币,于是找老板换回了100元,请问玩具店老板损失 ...
- Python学习教程(Python学习视频_Python学些路线):Day05 总结和练习
Python学习教程(Python学习视频_Python学些路线):总结和练习 练习清单 寻找"水仙花数". 寻找"完美数". "百钱百鸡" ...
- python 列表 换行_python基础语法学习——参考Python Crash Course
第一章:python在各个系统之间的安装和使用(略) 第二章: 变量 2.1.每个变量都存储了一个值 --与变量相关联的信息.在程序中可随时修改变量的值,而 Python将始终记录变量的最新值. 2. ...
最新文章
- C语言中的typedef
- can与could区别
- python从零开始的学习-python学习过程之从零开始
- hdu 3339 In Action 背包+flyod
- 错误:不能继续进行下一步操作 openfire 设置._如何为MacBook或Mac电脑恢复出厂设置...
- 前端基础_认识前端.md
- fastjson把对象转化成json避免$ref
- CPU的内部物理结构介绍
- SQL锁机制和事务隔离级别
- HTML中的padding和margin
- 【编辑器】VSCode制表符Tab等修改
- win2003服务器安全设置
- SuperMap iDesktop之夜景特效制作
- Allpairs正交工具的安装、使用及错误提示解决办法
- 最新 Transformer 预训练模型综述!
- 如何写好一份 30 K offer 的简历(建议收藏)
- 三三速记英语 需要者看
- excel 设置表头表尾
- DLL注入_远程线程注入
- Hybrid App开发实战
热门文章
- 华为手机鸿蒙系统有什么优点和缺点,有多少人愿意亲身体验鸿蒙系统?华为自研系统,有哪些优势?...
- 视频教程-Layabox3D游戏开发入门-微信3D小游戏案例 -微信开发
- 【VNC使用指南】Ubuntu Kylin 使用 TigerVNC
- ultraiso制作u盘启动盘教程
- flash读写导致死机问题分析
- 【读懂Autosar代码】-6-Function函数的定义
- 对于SDL中colorkey的理解
- 程序设计与算法(一)第7周测验(2019夏季)
- 中国演绎太空生命传奇
- 【Pygame小游戏】一发超人:弓箭手佛系射鸟休闲小游戏,你能射中几只?(源码白嫖)