回溯类题目

解决一个回溯问题,实际上就是一个决策树的遍历过程。需要考虑三个问题

1、路径:就是已经做出的选择

2、选择列表:就是当前可以做出的选择

3、结束的条件:就是到达决策树底层,无法在做选择的条件。

算法框架:

1
2
3
4
5
6
7
8
9
result = []
def backtrack(路径, 选择列表):
if 满足结束条件:
result.add(路径)
return
for 选择 in 选择列表:
做选择
backtrack(路径, 选择列表)
撤销选择/回溯
阅读更多