硬币

此博客链接:https://www.cnblogs.com/ping2yingshi/p/14171030.html

硬币

题目链接:https://leetcode-cn.com/problems/coin-lcci/

题目

硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007)

示例1:

输入: n = 5
输出:2
解释: 有两种方式可以凑成总金额:
5=5
5=1+1+1+1+1
示例2:

输入: n = 10
输出:4
解释: 有四种方式可以凑成总金额:
10=10
10=5+5
10=5+1+1+1+1+1
10=1+1+1+1+1+1+1+1+1+1

题解

思路

动态规划的题目一般是从后向前求解,对于硬币一共就四种,当给的钱固定是多少时,可以先判断给的钱是否能够整除给的硬币,如果可以的话,说明这是一种方法,任何硬币都能被全1凑成,这种情况就不需要考虑了,在求得的结果最后加1就可以了。按照动态规划的思想,应该把每种硬币的方式和加在一起等于凑成总金额的方式。

方法

       1.定义每种硬币可以凑成总金额的方式。

        2.遍历总金额。

        3.找动态方程。

         4找初始值。

状态转移方程:状态转移方程,我没有想好怎么写。

代码

 

结果

 

posted @ 2020-12-22 01:12  萍2樱释  阅读(78)  评论(0编辑  收藏  举报