python换硬币_Python 硬币兑换问题
硬币兑换问题:
给定总金额为A的一张纸币,现要兑换成面额分别为a1,a2,....,an的硬币,且希望所得到的硬币个数最少。
# 动态规划思想 dp方程式如下
# dp[0] = 0
# dp[i] = min{dp[i - coins[j]] + 1}, 且 其中 i >= coins[j], 0 <= j < coins.length
# 回溯法,输出可找的硬币方案
# path[i] 表示经过本次兑换后所剩下的面值,即 i - path[i] 可得到本次兑换的硬币值。
def changeCoins(coins, n):
if n < 0: return None
dp, path = [0] * (n+1), [0] * (n+1) # 初始化
for i in range(1, n+1):
minNum = i # 初始化当前硬币最优值
for c in coins: # 扫描一遍硬币列表,选择一个最优值
if i >= c and minNum > dp[i-c]+1:
minNum, path[i] = dp[i-c]+1, i - c
dp[i] = minNum # 更新当前硬币最优值
print('最少硬币数:', dp[-1])
print('可找的硬币', end=': ')
while path[n] != 0:
print(n-path[n], end=' ')
n = path[n]
print(n, end=' ')
if __name__ == '__main__':
coins, n = [1, 4, 5], 22 # 输入可换的硬币种类,总金额n
changeCoins(coins, n)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持龙方网络。
python换硬币_Python 硬币兑换问题相关推荐
- python换零钱_python动态规划-零钱兑换
零钱兑换 给定不同面额的硬币 coins 和一个总金额 amount.编写一个函数来计算可以凑成总金额所需的最少的硬币个数. 如果没有任何一种硬币组合能组成总金额,返回 -1. 示例 1: 输入: c ...
- python换零钱_Python算法之零钱兑换问题的解法
比如:顾客购物买37元东西,给了100元,要找63元,那最少数量就是1张50元,1张10元,3张1元,一共4张. 方法一: 贪心策略 解决这个问题,最直观的就是使用贪心策略.我们会从最大面值的钱开始, ...
- python换零钱_python小练习之换零钱
题:取任意一小于1美元然后计算最少多少枚硬币?(这是直接以美分为单位) 美分硬币有1美分.5美分.10美分.25美分. ======================================== ...
- mac的python换字体_Python -mac-画图及设置坐标中文字体
最近有点闲暇时间,趁时学习一下Python,搭建好Python环境,环境搭建就不多说,网上很多教程,我使用的anaconda.然后开始了coding之路 import numpy as np impo ...
- python换源_python更换国内源
python安装之后默认是使用国外的源,使用pip下载模块网速不是很好,有时候下到一半还会断开连接,非常不方便,最好配置国内的源. Windows下: 在Windows配置源可参考下面两个博客: 在本 ...
- python换零钱_Python之100个项目:零钱转换程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 # Python之100个项目# 假设一个商品的价值为x元,你给了y元, 计算找给你z元的程序(xyz任意的名称而已).需要注意的是,找你的零钱需要转换成 ...
- python换零钱_322.零钱兑换-python
动态规划问题,稍后更新思路 class Solution(object): def coinChange(self, coins, amount): """ :type ...
- python换图片_Python给照片换底色(蓝底换红底)
环境要求 Python3 numpy函数库 opencv库 安装 下载适应版本的numpy函数库,我电脑是WIN10 64位,安装的函数库是 numpy-1.13.1+mkl-cp36-cp36m-w ...
- 组合问题,用1元纸币兑换1分,2分和5分硬币,要求兑换总数为50枚,问组合方式多少种?
组合问题,用1元纸币兑换1分,2分和5分硬币,要求兑换总数为50枚,问组合方式多少种? JavaScript编写 function hm2(){var num=100;var sum=0;var a= ...
最新文章
- 最全面的缓存架构设计
- 数论题目入门 基础积攒
- 搭建struts2.1.6环境所需要的包(7个)
- 【网络安全】Windows恶意软件BazarLoader分析
- 【干货】网工面试最常见的几大问题,附答案
- linux 系统后门检测工具,Linux系统的各种后门和日志工具详细介绍[2]
- python 小波去噪,用Pywavelet去噪信号?
- aodv路由协议分析
- C和C++结构体区别
- Genome Research封面文章|张勇课题组开发方法绘制胚胎发育早期转录因子结合位点图谱...
- 基础知识—函数-函数概述
- 阿里云数据库RDS MySQL 物理全备文件数据恢复至自建数据库Mysql 5.7中
- python使用-使用python进行数据清洗
- P2665 [USACO08FEB]连线游戏Game of Lines
- Vscode搭建jdk源码阅读环境 wsl
- 百旺智能编码_【百旺开票软件税控盘版】百旺金税盘开票软件下载 v2020 最新版本-趣致软件园...
- 火影忍者ol服务器维护中,火影忍者ol3月31日更新了什么?维护到几点?新增神无毗桥模拟战...
- 如何取消计算机中的0-9,告诉你如何关闭win10易升程序
- uniapp微信授权登录
- Layer btnAlign 失效问题解决方法