今天已经做了三天的回溯算法了,对回溯算法又有了不同的理解。
回溯算法其实并没有那么难,按照代码随想录上面的逻辑和模板,再加上上一篇中的规律js递归回溯过程中究竟该传递n+1还是n+=1解析-CSDN博客
for循环是用来对同一层数据进行循环的,即对组合中相同位置元素的遍历;迭代是对深度进行循环,即对组合中数量的遍历,通过for循环和递归的结合,完成对算法的数次循环。
而在回溯中最难的是思路,如果弄清楚第一个结果的循环过程以及返回时的条件,那么这个算法就写出来一大半了。
最后最难的就是递归时传递的参数变化,上一篇中说到了n+1和n+=1的区别(n为for循环i的初始值),而今天做的过程中发现还有传递i和i+1的可能。不排除还有个i+=1.
大家在写的过程中还是以理清思路为重,多多debug。