77组合
总结:在组合问题中,为了防止重复取数,所以要设置一个startindex变量,让每一次的递归都从下个节点开始,例如在集合[1,2,3,4]取1之后,下一层递归,就要在[2,3,4]中取数了,那么下一层递归如何知道从[2,3,4]中取数呢,靠的就是startIndex。
下面给出回溯算法的模板
void backtracking(参数) {
if (终止条件) {
存放结果;
return;
}
for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {
处理节点;
backtracking(路径,选择列表); // 递归
回溯,撤销处理结果
}
}
216组合总和Ⅲ
总结:和77的区别在于多一个sum,用于累加path数组中的和,并保存进result中
17电话号码的字母组合
总结:先要建立数字与字母的映射表map,然后将指向的数字转换成int形式,再从map中取出指向数字对应的字符集,回溯处理字符集

1279

被折叠的 条评论
为什么被折叠?



