mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-09 05:41:47 +08:00
Add the section of summary of greedy.
This commit is contained in:
@@ -13,8 +13,6 @@
|
||||
|
||||
给定 $n$ 种硬币,第 $i$ 个硬币的面值为 $coins[i - 1]$ ,目标金额为 $amt$ ,每种硬币可以重复选取,问能够凑出目标金额的最少硬币个数。如果无法凑出目标金额则返回 $-1$ 。
|
||||
|
||||
贪心算法会迭代地做出一个又一个的贪心选择,每轮都将问题转化成一个规模更小的子问题,直到问题被解决。
|
||||
|
||||
这道题的贪心策略在生活中很常见:给定目标金额,**我们贪心地选择不大于且最接近它的硬币**,不断循环该步骤,直至凑出目标金额为止。
|
||||
|
||||

|
||||
@@ -110,7 +108,7 @@
|
||||
|
||||
那么问题来了,什么样的问题适合用贪心算法求解呢?或者说,贪心算法在什么情况下可以保证找到最优解?
|
||||
|
||||
相较于动态规划,贪心算法的使用条件更加苛刻,其主要关心问题的两个性质:
|
||||
相较于动态规划,贪心算法的使用条件更加苛刻,其主要关注问题的两个性质:
|
||||
|
||||
- **贪心选择性质**:只有当局部最优选择始终可以导致全局最优解时,贪心算法才能保证得到最优解。
|
||||
- **最优子结构**:原问题的最优解包含子问题的最优解。值得注意的是,一些问题的最优子结构并不明显,但仍然可使用贪心算法解决。
|
||||
|
||||
Reference in New Issue
Block a user