数据结构(python) —— 【29: 贪心算法之换钱问题】
贪心算法之换钱问题
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: 贪心算法之换钱问题】相关推荐
- leetcode 455 分发饼干(c++和python) 贪心算法
目录 1 贪心算法: 2 题目描述 3 解题思路 4 c++ 5 python 1 贪心算法: 保证每次局部操作是最优解,从而是最终得到的结果是全局最优解. 2 题目描述 有一群孩子和一堆饼干,每个孩 ...
- 八十二、Python | Leetcode贪心算法系列
@Author:Runsen @Date:2020/7/5 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...
- python leetcode_八十二、Python | Leetcode贪心算法系列
@Author:Runsen @Date:2020/7/5 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...
- python 实现贪心算法
文章目录 贪心算法 一. 算法概述 1. 简介 2. 基本步骤 二. 基本实现 1. 实例 2. 分析步骤 3. 代码实现 三. 数模实战 1. 题目展示 2. 题目分析 2.1 公式 2.2 实现 ...
- 利用python实现贪心算法-----摇摆序列
今天看到了这个贪心算法的摇摆序列,确实挺难的,自己就没有按照老师所用到的c语言代码编写,并且用了自己所能够理解的方式进行编写代码,代码实现起来有点多余,但是最终还是实现了,大家可以自己进行优化,这个是 ...
- python实现贪心算法经典案例
均分纸牌问题 python代码: # 贪心算法实现均分纸牌问题 import numpy as npdef avg_Card(cards_list):avg = np.mean(cards_list) ...
- Python(贪心算法)问题 D: 删数问题_输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数。
问题 D: 删数问题 题目描述 输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数. 编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小. 输出新的正整 ...
- Python(贪心算法)问题 C: 活动选择_学校在最近几天有n个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使用。
问题 C: 活动选择 题目描述 学校在最近几天有n个活动, 这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使用. 由于有些活动时间上有冲突,学校办公室人员只好让一些活动放弃使用礼堂而使 ...
- 算法基础之python实现贪心算法中的雷达安装问题和二分法中誊抄书籍问题
一.雷达安装问题(贪心算法) 1.1 问题描述 1.2 问题分析 1.3 程序代码 # -*- coding: utf-8 -*- """ Created on Tue ...
最新文章
- 基础、数据、开发、部署,AI 时代企业的全方位升级
- 3 : 1,从21世纪科技趋势分析美国为什么一定要遏制华为
- 从源码来理解slf4j的绑定,以及logback对配置文件的加载
- 虚拟机中的solaris无法通过putty连接(网络模式为桥接模式)
- C++ 静态线性表的顺序存储结构(数组实现)
- Net Core集成Exceptionless分布式日志功能以及全局异常过滤
- 信道容量受哪三个要素_影响信道容量的主要因素有哪些
- C#LeetCode刷题-栈
- 基于OpenCV实现人脸识别--Python
- XMLHelper 辅助类
- Linux文件的软链接和硬链接
- jquery粘贴按钮_实现前端点击按钮自动复制剪贴板功能
- 如何在 Mac 上的“地图”中自定地图视图?
- MYSQL查询语句大全集锦
- Datawhale组队学习:数据竞赛(房价预测)课程任务
- Android gpuimage美颜滤镜,基于GPUImage的实时美颜滤镜
- 404网站服务器错误怎么解决,网站404错误怎么解决?[终极Xenu死链工具]
- MATLAB 神经网络NAR时间序列做预测
- 《C++ Primer 第5版》-11.1使用关联容器-康奈尔笔记
- 如何用Java写一个斗地主(一)
热门文章
- 使用install shield制作安装程序问题集锦
- python x y 下载_Python(x,y)的下载安装
- 赛码网--求数列的和
- typeScript学习笔记day01——小肉包
- 服务器1075错误服务修复,错误1075:依存服务不存在,或已标记为删除
- ad19怎么手动布线_Altium Designer手动布线的最佳设置
- 【渝粤教育】电大中专跨境电子商务理论与实务 (26)作业 题库
- TeamViewer 连接不上
- 花两万学的python,总结了一点初学者的小技巧,免费送给大家
- 红酒生产车间空调系统程序设计