美文网首页
Swift-硬币找零

Swift-硬币找零

作者: FlyElephant | 来源:发表于2017-05-30 00:51 被阅读21次

题目:给定数量不限的硬币,币值为25分,10分,5分和1分,编写代码计算n分有几种表示法.

核心代码:

func makeChange(n:Int,denom:Int) -> Int {
        
        var next_denom:Int = 0
        switch denom {
        case 25:
            next_denom = 10
            break
        case 10:
            next_denom = 5
            break
        case 5:
            next_denom = 1
            break
        case 1:
            return 1
        default:
            break
        }
        
        var ways:Int = 0
        
        var i:Int = 0
        
        while i * denom <= n {
            ways += makeChange(n: n - i * denom, denom: next_denom)
            i += 1
        }
        return ways
    }

测试代码:

var ways:Int = recursion.makeChange(n: 100, denom: 25)
print("FlyElephant---100分的表示方式:\(ways)")
FlyElephant.png

相关文章

  • Swift-硬币找零

    题目:给定数量不限的硬币,币值为25分,10分,5分和1分,编写代码计算n分有几种表示法. 核心代码: 测试代码:

  • 最小硬币找零问题

    最小硬币找零问题是硬币找零问题的一个变种。硬币找零问题是给出要找零的钱数,以及可以用的硬币面额d1...dn及其数...

  • 刷题笔记(经典题目汇总)

    1.硬币找零问题(腾讯q币找零) 解法:贪心策略 只考虑最少需要的硬币总数而不考虑具体的组合对于 1,2,5,10...

  • 硬币找零问题——动态规划

    问题阐述 给定一些面值的硬币(数量不限)和需要找零的金额,求一个找零所需硬币数最少的方案。现实生活中因其面值的特殊...

  • 322、Coin Change

    参考 [LeetCode] Coin Change 硬币找零 题目描述:You are given coins o...

  • 拒收硬币是违法的,任何个人和单位都不得拒收硬币,否则可报警

    文/时评小侯 ​想必各位都有过这样的经历吧?就是拿着硬币去买东西,或者用硬币找零给别人的时候,对方拒绝收硬币。尤其...

  • 拒收硬币是违法的,任何个人和单位都不得拒收硬币,否则可报警

    文 / 时评小侯 想必各位都有过这样的经历吧?就是拿着硬币去买东西,或者用硬币找零给别人的时候,对方拒绝收硬币。尤...

  • Java硬币找零问题

    假如有硬币1,3,5如何用最少的硬币数量找回11元,硬币可复用 要得到1元需要的硬币个数n=f(1) = f(0)...

  • 动态规划算法

    要点 简化问题 减少计算量 套路 定义状态 定义动作 定义边界 缓存已知 硬币找零问题 问题:有三种面值硬币1,3...

  • 2019腾讯笔试题

    题目背景:小Q去商场购物,经常会遇到找零的问题。 小Q现在手上有n种不同面值的硬币,每种面值的硬币都有无限多个。 ...

网友评论

      本文标题:Swift-硬币找零

      本文链接:https://www.haomeiwen.com/subject/bxnkfxtx.html