Fix the figures.

Polish the chapter of data structure.
This commit is contained in:
krahets
2023-08-13 19:32:11 +08:00
parent ec82be7dc2
commit 0c18198c01
14 changed files with 79 additions and 73 deletions

View File

@ -206,7 +206,7 @@ $$
!!! question
给定 $n$ 种硬币,第 $i$ 硬币的面值为 $coins[i - 1]$ ,目标金额为 $amt$ **每种硬币可以重复选取**,问能够凑出目标金额的最少硬币个数。如果无法凑出目标金额则返回 $-1$ 。
给定 $n$ 种硬币,第 $i$ 硬币的面值为 $coins[i - 1]$ ,目标金额为 $amt$ **每种硬币可以重复选取**,问能够凑出目标金额的最少硬币个数。如果无法凑出目标金额则返回 $-1$ 。
![零钱兑换问题的示例数据](unbounded_knapsack_problem.assets/coin_change_example.png)
@ -218,7 +218,7 @@ $$
**第一步:思考每轮的决策,定义状态,从而得到 $dp$ 表**
状态 $[i, a]$ 对应的子问题为:**前 $i$ 硬币能够凑出金额 $a$ 的最少硬币个数**,记为 $dp[i, a]$ 。
状态 $[i, a]$ 对应的子问题为:**前 $i$ 硬币能够凑出金额 $a$ 的最少硬币个数**,记为 $dp[i, a]$ 。
二维 $dp$ 表的尺寸为 $(n+1) \times (amt+1)$ 。
@ -446,11 +446,11 @@ $$
!!! question
给定 $n$ 种硬币,第 $i$ 硬币的面值为 $coins[i - 1]$ ,目标金额为 $amt$ ,每种硬币可以重复选取,**问在凑出目标金额的硬币组合数量**。
给定 $n$ 种硬币,第 $i$ 硬币的面值为 $coins[i - 1]$ ,目标金额为 $amt$ ,每种硬币可以重复选取,**问在凑出目标金额的硬币组合数量**。
![零钱兑换问题 II 的示例数据](unbounded_knapsack_problem.assets/coin_change_ii_example.png)
相比于上一题,本题目标是组合数量,因此子问题变为:**前 $i$ 硬币能够凑出金额 $a$ 的组合数量**。而 $dp$ 表仍然是尺寸为 $(n+1) \times (amt + 1)$ 的二维矩阵。
相比于上一题,本题目标是组合数量,因此子问题变为:**前 $i$ 硬币能够凑出金额 $a$ 的组合数量**。而 $dp$ 表仍然是尺寸为 $(n+1) \times (amt + 1)$ 的二维矩阵。
当前状态的组合数量等于不选当前硬币与选当前硬币这两种决策的组合数量之和。状态转移方程为: