贪心算法之换钱问题

1. 概念

贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。
贪心算法并不保证会得到最优解,但是在某些问题上贪心算法的解就是最优解。要会判断一个问题能否用贪心算法来计算。

2. 问题

假设有个人需要零钱,但身上没有,所以商店老板商量用支付宝或者微信换n元,假设老板这里钱币的面额有: 100元、50元、20元、5元、1元(张数不限),如何给使得所需钱币的数量最少?比如,375元
答: 老板先拿最大的面额即100元的三张,再找第二大的50一张,再找第三大的20元一张,再找5元一张

思想: 每次剩的最少,所以依次找大的

3. 代码

'''
TOPIC: 用贪心算法解决换钱问题
author: Blue
time: 2020-08-17
QQ: 2458682080
'''# 老板有的面额
money_all = [100, 50, 20, 5, 1]
def change(n, money_all):# 各个面额的张数num = [0 for _ in range(len(money_all))]for index, money in enumerate(money_all):num[index] = n // moneyn = n % moneyreturn num, nprint(change(356, money_all))
# 思想: 每次剩的最少

数据结构(python) —— 【29: 贪心算法之换钱问题】相关推荐

  1. leetcode 455 分发饼干(c++和python) 贪心算法

    目录 1 贪心算法: 2 题目描述 3 解题思路 4 c++ 5 python 1 贪心算法: 保证每次局部操作是最优解,从而是最终得到的结果是全局最优解. 2 题目描述 有一群孩子和一堆饼干,每个孩 ...

  2. 八十二、Python | Leetcode贪心算法系列

    @Author:Runsen @Date:2020/7/5 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  3. python leetcode_八十二、Python | Leetcode贪心算法系列

    @Author:Runsen @Date:2020/7/5 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  4. python 实现贪心算法

    文章目录 贪心算法 一. 算法概述 1. 简介 2. 基本步骤 二. 基本实现 1. 实例 2. 分析步骤 3. 代码实现 三. 数模实战 1. 题目展示 2. 题目分析 2.1 公式 2.2 实现 ...

  5. 利用python实现贪心算法-----摇摆序列

    今天看到了这个贪心算法的摇摆序列,确实挺难的,自己就没有按照老师所用到的c语言代码编写,并且用了自己所能够理解的方式进行编写代码,代码实现起来有点多余,但是最终还是实现了,大家可以自己进行优化,这个是 ...

  6. python实现贪心算法经典案例

    均分纸牌问题 python代码: # 贪心算法实现均分纸牌问题 import numpy as npdef avg_Card(cards_list):avg = np.mean(cards_list) ...

  7. Python(贪心算法)问题 D: 删数问题_输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数。

    问题 D: 删数问题 题目描述 输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数. 编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小. 输出新的正整 ...

  8. Python(贪心算法)问题 C: 活动选择_学校在最近几天有n个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使用。

    问题 C: 活动选择 题目描述 学校在最近几天有n个活动, 这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使用. 由于有些活动时间上有冲突,学校办公室人员只好让一些活动放弃使用礼堂而使 ...

  9. 算法基础之python实现贪心算法中的雷达安装问题和二分法中誊抄书籍问题

    一.雷达安装问题(贪心算法) 1.1 问题描述 1.2 问题分析 1.3 程序代码 # -*- coding: utf-8 -*- """ Created on Tue ...

最新文章

  1. 基础、数据、开发、部署,AI 时代企业的全方位升级
  2. 3 : 1,从21世纪科技趋势分析美国为什么一定要遏制华为
  3. 从源码来理解slf4j的绑定,以及logback对配置文件的加载
  4. 虚拟机中的solaris无法通过putty连接(网络模式为桥接模式)
  5. C++ 静态线性表的顺序存储结构(数组实现)
  6. Net Core集成Exceptionless分布式日志功能以及全局异常过滤
  7. 信道容量受哪三个要素_影响信道容量的主要因素有哪些
  8. C#LeetCode刷题-栈
  9. 基于OpenCV实现人脸识别--Python
  10. XMLHelper 辅助类
  11. Linux文件的软链接和硬链接
  12. jquery粘贴按钮_实现前端点击按钮自动复制剪贴板功能
  13. 如何在 Mac 上的“地图”中自定地图视图?
  14. MYSQL查询语句大全集锦
  15. Datawhale组队学习:数据竞赛(房价预测)课程任务
  16. Android gpuimage美颜滤镜,基于GPUImage的实时美颜滤镜
  17. 404网站服务器错误怎么解决,网站404错误怎么解决?[终极Xenu死链工具]
  18. MATLAB 神经网络NAR时间序列做预测
  19. 《C++ Primer 第5版》-11.1使用关联容器-康奈尔笔记
  20. 如何用Java写一个斗地主(一)

热门文章

  1. 使用install shield制作安装程序问题集锦
  2. python x y 下载_Python(x,y)的下载安装
  3. 赛码网--求数列的和
  4. typeScript学习笔记day01——小肉包
  5. 服务器1075错误服务修复,错误1075:依存服务不存在,或已标记为删除
  6. ad19怎么手动布线_Altium Designer手动布线的最佳设置
  7. 【渝粤教育】电大中专跨境电子商务理论与实务 (26)作业 题库
  8. TeamViewer 连接不上
  9. 花两万学的python,总结了一点初学者的小技巧,免费送给大家
  10. 红酒生产车间空调系统程序设计