This commit is contained in:
krahets
2023-07-16 04:18:52 +08:00
parent c342ba3ced
commit edcd1e5c10
21 changed files with 475 additions and 67 deletions
+4 -4
View File
@@ -2,7 +2,7 @@
comments: true
---
# 12.3.   子集和问题
# 13.3.   子集和问题
!!! question
@@ -10,7 +10,7 @@ comments: true
例如,输入集合 $\{3, 4, 5\}$ 和目标整数 $9$ ,由于集合中的数字可以被重复选取,因此解为 $\{3, 3, 3\}, \{4, 5\}$ 。请注意,子集是不区分元素顺序的,例如 $\{4, 5\}$ 和 $\{5, 4\}$ 是同一个子集。
## 12.3.1.   从全排列引出解法
## 13.3.1.   从全排列引出解法
类似于上节全排列问题的解法,我们可以把子集的生成过程想象成一系列选择的结果,并在选择过程中实时更新“元素和”,当元素和等于 `target` 时,就将子集记录至结果列表。
@@ -274,7 +274,7 @@ comments: true
<p align="center"> Fig. 子集搜索与越界剪枝 </p>
## 12.3.2. &nbsp; 重复子集剪枝
## 13.3.2. &nbsp; 重复子集剪枝
为了去除重复子集,**一种直接的思路是对结果列表进行去重**。但这个方法效率很低,因为:
@@ -569,7 +569,7 @@ comments: true
<p align="center"> Fig. 子集和 I 回溯过程 </p>
## 12.3.3. &nbsp; 相等元素剪枝
## 13.3.3. &nbsp; 相等元素剪枝
!!! question