设
d
p
[
n
]
dp[n]
dp[n]代表
a
m
o
u
n
t
amount
amount为
n
n
n的时候可以使用最少的硬币数量组成这个amount。
那么
d
p
[
n
]
=
m
i
n
c
=
c
o
i
n
s
[
0
]
.
.
.
c
o
i
n
s
[
n
−
1
]
(
d
p
[
n
−
c
]
+
1
)
,
i
f
i
−
c
o
i
n
s
>
=
0
dp[n]=\underset{c=coins[0]...coins[n-1]}{min}(dp[n-c]+1),if i-coins>=0
dp[n]=c=coins[0]...coins[n−1]min(dp[n−c]+1),ifi−coins>=0