首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    OJ刷题记录:L1-802-一种高级的找零钱法(10分)

    L1-802-一种高级的找零钱法(10分) 题目要求: 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),...现在,给定哈利应付的价钱 P 和他实付的钱 A,你的任务是写一个程序来计算他应该被找的零钱。...输出 在一行中用与输入同样的格式输出哈利应该被找的零钱。如果他没带够钱,那么输出的应该是负数;如果他带的钱刚好,那么输出"gang gang hao."。...样例输入 10.16.27 14.1.28 样例输出 3.2.1 解题思路: 先将输入的应付和实付价格转换为最低单位 Knut,再相减得出应找零的价格对应的 Knut ,最后转换为 Galleon.Sickle.Knut

    55220

    Python高级算法——贪心算法(Greedy Algorithm)

    Python中的贪心算法(Greedy Algorithm):高级算法解析 贪心算法是一种优化问题的解决方法,它每步选择当前状态下的最优解,最终希望通过局部最优的选择得到全局最优解。...在本文中,我们将深入讲解Python中的贪心算法,包括基本概念、算法思想、具体应用场景,并使用代码示例演示贪心算法在实际问题中的应用。 基本概念 1....贪心算法的具体应用 3.1 找零钱问题 找零钱问题是贪心算法的一个典型应用场景。通过选择面值最大的硬币,尽量减少找零的硬币数量。...6, 7, 9, 9] print(greedy_activity_selection(start_times, finish_times)) 应用场景 贪心算法适用于一些具有贪心选择性质的问题,如找零问题...在Python中,我们可以应用贪心算法解决各种问题,如找零问题、活动选择问题等。理解贪心算法的基本概念和算法思想,对于解决一些具有贪心选择性质的问题具有指导意义,能够提高算法的效率。

    2.2K10

    leetcode-860-柠檬水找零

    你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。 注意,一开始你手头没有任何零钱。 如果你能给每位顾客正确找零,返回 true ,否则返回 false 。...给定一个vector,里面装着前来购买5元柠檬水的顾客给的钱,只可能会给5元/10元/20元,而你要给他们找零。 初始的时候,你手里面只有柠檬水,而没有任何零钱。...如果你能顺利完成所有找零工作(意味着第一个顾客只能给5元,方便你后续找零),那么返回true,如果不能完成所有找零工作,返回false。 2....每次有顾客来,判断要找多少零钱,检查一下当前的零钱能不能还,可以就找零,接着下一个顾客。 在找零的过程中,当顾客给了20元,我们优先使用10元和5元的组合找零给顾客,而不是3张5元。...因为5元的零钱更为重要,当顾客使用10元的时候,我们只能找零5元零钱。 如果优先使用3张5元去找零,那么极有可能最终剩下一大堆10元,而当顾客掏出10元购买柠檬水,我们却没有5元零钱来找零。

    69240

    【算法:贪心】:贪心算法介绍+基础题(四个步骤);柠檬水找零(交换论证法)

    对于10元的,要找一张五块钱。对于20元的,你可以找三张五块钱,也可以找一张五块钱和一张十块钱。 ●一开始没有零钱,也就是只能有顾客的钱来找零。...2.算法原理: 1.对于顾客给的五块钱,我们直接收下,不需要找零。 2.对于顾客付的十块钱,我们将十块钱收下,然后进行找五块钱。 3.对于顾客付的二十块钱,我们有两种找零的方式。...找零一:找三张五块钱的。 找零二:找一张十块钱的, 找一张五块钱的。 从上面三种情况来看,五块钱有两种用途,十块钱只有一种用途(十块钱只能用来找零二十块钱的)。...贪心解的情况下就是在找零二十块钱的时候,如果有十块钱就先用十块钱找(即找零方法一)。如果没有十块钱,才用三张五块钱进行找零。...,贪心解用十块钱和五块钱进行找零,正确解用三张五块钱的进行找零。

    85810

    钞票找零-贪心,动态规划算法

    php class Change {     protected $moneyArr = [1, 2, 5, 10];//零钱     protected $changeMethod;//找零方法...89块钱,竟然需要89张1元的纸币,那能不能在能找零的情况,尽可能的将找的纸币数量缩小呢?...这时候我们就需要用到贪心算法 贪心算法是指,在每一次情况下,都选择当前最优的解进行处理, 在这个场景里面,最优的解就应该是从大到小进行找零了,89块钱,先找最大面值的50块钱,然后找10块钱的,以此类推...php class Change {     protected $moneyArr = [1, 2, 5, 10];//零钱     protected $changeMethod;//找零方法...php class Change {     protected $moneyArr = [1, 2, 5, 10];//零钱     protected $changeMethod;//找零方法

    1.1K20
    领券