动态规划问题,稍后更新思路

class Solution(object):

def coinChange(self, coins, amount):

"""

:type coins: List[int]

:type amount: int

:rtype: int

"""

INF = float('inf')

dp = []

N = len(coins)

for _ in range(N):

tmp = [INF] * (amount+1)

tmp[0] = 0

dp.append(tmp)

for j in range(1, amount+1):

if j >= coins[0] and dp[0][j-coins[0]] != INF:

dp[0][j] = dp[0][j-coins[0]] + 1

for i in range(1, N):

for j in range(1, amount+1):

if j >= coins[i]:

dp[i][j] = min(dp[i - 1][j], dp[i][j-coins[i]] + 1)

else:

dp[i][j] = dp[i - 1][j]

return dp[len(coins)- 1][amount] if dp[N-1][amount] != INF else -1

进行空间压缩:

class Solution(object):

def coinChange(self, coins, amount):

"""

:type coins: List[int]

:type amount: int

:rtype: int

"""

INF = float('inf')

dp = [0] + [INF]*amount

N = len(coins)

for i in range(amount+1):

for j in range(N):

if i >= coins[j]:

dp[i] = min(dp[i], dp[i-coins[j]]+1)

return dp[amount] if dp[amount] <= amount else -1

python换零钱_322.零钱兑换-python相关推荐

  1. python换硬币_Python 硬币兑换问题

    硬币兑换问题: 给定总金额为A的一张纸币,现要兑换成面额分别为a1,a2,....,an的硬币,且希望所得到的硬币个数最少. # 动态规划思想 dp方程式如下 # dp[0] = 0 # dp[i] ...

  2. python换图片_详解Python给照片换底色(蓝底换红底)

    现在网上出现了很多在线换底色的网页版工具是这么做的呢?其实用Python就可以实现. 环境要求 Python3 numpy函数库 opencv库 安装 下载适应版本的numpy函数库,我电脑是WIN1 ...

  3. python换成中文版_在python中如何将“\”替换为“/”?

    由于从另一个不可修改的源接收变量,因此字符串已经被转义.在 现在,对于您的字符串,有两个地方会误解字符:\v和{}.在>>> path = 'V:\PRODUCTIONS\SC_02 ...

  4. python在手机上如何模拟登录_用 Python 换个姿势「模拟登录」

    原标题:用 Python 换个姿势「模拟登录」 作者:librauee 今天给大家介绍Python一个非常有意思的库PyUserInput,它集成了PyMouse和PyKeyboard这俩模块,能够模 ...

  5. python换发型_初学Python的一些细节

    一.python的数据类型 1.python的基本数据类型包括数值数据类型和字符串数据类型:基本数据类型的特点是不允许改变,如果改变基本数据类型的值,会导致内存的重新分配. int 整形 二进制 a ...

  6. python字符串去掉空行_从python中的字符串中删除空格

    python字符串去掉空行 如何在python中删除字符串中的空格 (How to remove whitespaces in a string in python) str.lstrip()str. ...

  7. python 等号报错_Python学习----Python基础

    Python基础 一.数据类型和变量 1.在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量. 例如: a =520# a是整数prin ...

  8. python官网下载安装教程-Python和Anoconda和Pycharm安装教程

    简介 Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的.大型项目的开发. ...

  9. python软件是免费的吗-Python编程软件下载

    Thonny是一款Python编程工具,非常适合Python的初学者使用,简单易操作,有错误的部分会直接显示出来,对于一些难懂的部分会给予解释,非常的人性化,需要的朋友欢迎下载使用. 软件优势 初始布 ...

最新文章

  1. “口碑营销”产品模型推测与分析
  2. REST API 支持方式
  3. Android 进阶 Fragment 介绍和使用 (一)
  4. Codeforces 486D D. Valid Sets
  5. c语言程序设计现代方法第二版 第10章程序设计题3题,自己编写的一个程序
  6. (转)计算几何模板 - kuangbin
  7. 更换mysql_安利给你,关于MySQL字符集乱码与解决方案
  8. CentOS切换运行级别 图形模式/命令行模式
  9. java文件读取的几个操作-1
  10. LabVIEW开发实战:Labview简介
  11. C-V2X通信架构中,PC5接口和Uu接口的区别是什么?
  12. java 重载的特征_Java中方法的重载详解
  13. 字体外面怎么加边框_教您使用html代码给文字加边框!
  14. Vue3中数据更新函数effect的实现
  15. 腾讯收入证明泄漏,税后250万,月均20万...
  16. 重磅!清华大学首个原创虚拟美女学生,“华智冰”唱歌好听到爆
  17. 寻找鲁菜——美食江山寻味记之三·胶东人家
  18. 花了500学的seo课程教程笔记公布
  19. 如何解决苹果公司开发者账号重设手机号的问题
  20. 在跑SC-LEGO-LOAM时报错[pcl::KdTreeFLANN::setInputCloud] Cannot create a KDTree with an empty input cloude

热门文章

  1. 选择3D 建模行业前,我不允许你错过这些内容
  2. 千万别学网络工程,这是为什么?为什么有这样的说法
  3. php 如何使用ck播放视频,CKplayer 优酷视频站外调用演示
  4. 软件工程之用户界面设计(UI设计)
  5. 阿里云服务器带宽测速四种方法
  6. Java基础不使用方法重载缺点
  7. 苹果年夜饭“全家桶”来了,给你不一样的新年味
  8. 【Qt Linguist 进行中英文翻译】
  9. Elasticsearch:Elastic Maps 现在支持机器学习异常层
  10. HyperTech合泰集团介绍