mirror of
https://github.com/krahets/hello-algo.git
synced 2026-07-09 22:16:06 +00:00
build
This commit is contained in:
@@ -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. 重复子集剪枝
|
||||
## 13.3.2. 重复子集剪枝
|
||||
|
||||
为了去除重复子集,**一种直接的思路是对结果列表进行去重**。但这个方法效率很低,因为:
|
||||
|
||||
@@ -569,7 +569,7 @@ comments: true
|
||||
|
||||
<p align="center"> Fig. 子集和 I 回溯过程 </p>
|
||||
|
||||
## 12.3.3. 相等元素剪枝
|
||||
## 13.3.3. 相等元素剪枝
|
||||
|
||||
!!! question
|
||||
|
||||
|
||||
Reference in New Issue
Block a user