本文主要简单介绍一下回溯算法模板
1. 什么是回溯
回溯的理念就是,想尝试某个状态x,如果不符合要求,回滚会原始状态再尝试状态y
2. 题目举例
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。
candidates 中的数字可以无限制重复被选取。
说明:所有数字(包括 target)都是正整数。
解集不能包含重复的组合。
示例 1:
输入:candidates = [2,3,6,7], target = 7,
所求解集为:
[
[7],
[2,2,3]
]
代码如下
1 | class Solution: |
3. 回溯模板
1 | class Solution: |