【问题标题】:why can not I reuse same coin in coin change dp?为什么我不能在硬币找零 dp 中重复使用相同的硬币?
【发布时间】:2014-01-22 23:56:03
【问题描述】:

例子:

给定 20 美元,我想数一下用硬币兑换 20 美元的方法 = { 5$,10$, 15$} 硬币的顺序无关紧要。

solution here

解决方案说:方式总数 = 使用硬币 + 不使用硬币: total_ways = count( S, m - 1, n ) + count( S, m, n-S[m-1] )

以树的形式:

【问题讨论】:

    标签: recursion tree dynamic-programming coin-change


    【解决方案1】:

    解决方案说:方式总数 = 使用硬币 + 不使用硬币 : total_ways = count( S, m - 1, n ) + count( S, m, n-S[m-1] )

    我认为你误解了解决方案的陈述。

    它的确切含义是:

    1) Optimal Substructure
    To count total number solutions, we can divide all set solutions in two sets.
    1) Solutions that do not contain mth coin (or Sm).
    2) Solutions that contain at least one Sm.
    

    这是一种将问题细分为同一问题的两个较小版本的方法。

    在不使用硬币的情况下可以完成的方法的数量,相同的问题,相同的目标总数和较小的硬币集合。

    但是可以用至少一枚硬币完成的方法的数量是相同的问题,目标总数减少硬币的大小,但允许的相同集合硬币。

    在这第二组中,确实允许再次使用相同的硬币。

    【讨论】:

    • 如果我能给你 + 100- 我会......现在我明白了 - “但使用相同的允许硬币”......你解释得很好!谢谢
    猜你喜欢
    • 2013-12-09
    • 2012-08-05
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 2015-09-02
    相关资源
    最近更新 更多