Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0052e3f

Browse files
author
luzhipeng
committed
fix: 修正硬币找零
1 parentc1fb14e commit0052e3f

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

‎problems/322.coin-change.md‎

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,8 @@ You may assume that you have an infinite number of each kind of coin.
2121
```
2222
##思路
2323

24-
可以用动态规划来写, 可以先画一个二维表,然后观察,其是否可以用一维表代替。
2524

26-
也可以暴力分析,我们把coin逆序排列,然后逐个取,取到刚好不大于amout,依次类推。
25+
假如我们把coin逆序排列,然后逐个取,取到刚好不大于amout,依次类推。
2726

2827
```
2928
eg: 对于 [1,2,5] 组成 11 块
@@ -46,6 +45,16 @@ eg: 对于 [1,2,5] 组成 11 块
4645
4746
因此结果是 3
4847
```
48+
49+
熟悉贪心算法的同学应该已经注意到了,这就是贪心算法,贪心算法更amount尽快地变得更小。
50+
`经验表明,贪心策略是正确的`。 注意,我说的是经验表明, 贪心算法也有可能出错。 就拿这道题目来说,
51+
他也是不正确的! 比如`coins = [1, 5, 11] amout = 11`, 因此这种做法有时候不靠谱,我们还是采用靠谱的做法.
52+
53+
如果我们暴力求解,对于所有的组合都计算一遍,然后比较, 那么这样的复杂度是 2 的 n 次方(这个可以通过数学公式证明,这里不想啰嗦了),
54+
这个是不可以接受的。那么我们是否可以动态规划解决呢?答案是可以,原因就是可以划分为子问题,子问题可以推导出原问题
55+
56+
对于动态规划我们可以先画一个二维表,然后观察,其是否可以用一维表代替。
57+
关于动态规划为什么要画表,我已经在[这篇文章](../thinkings/dynamic-programming.md)解释了
4958
##关键点解析
5059

5160
- 动态规划

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp