77.组合
#回溯
2024-08-09
1 |
|
note 记录已存储路径的长度,用以终止回溯,终止条件是回溯当中不可获取的。
组合不在意顺序,因此 [1,4] 和 [4,1] 属于同一个路径,不能同时加入到总路径中,只能取其一。为了方便,按照有序进行排布会容易做题,在代码中也是通过 i + 1 传递 到 backtrace 中作为 start 参数,表示遍历路径的起始位置。
回溯的体现就在于,你添加的操作在从 backtrace 结束之后对应的删除操作,比方说 path.push_back(i)
对应 path.pop_back()
,note++
对应 note--
。