回溯算法
框架
返回值要搞清楚,当索引变为负值返回,当达到目标时也要记得返回.
1 | result = [] |
和动态规划的关系
把上边的这部分展开一下
1 | def backrack(游标,一路选择后的结果): |
1 | def backtrack(int i,int trace): |
当nums[i] = 0时有重复子问题,发现一个必然有很多个因此可以使用备忘录优化
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 好高骛远!
返回值要搞清楚,当索引变为负值返回,当达到目标时也要记得返回.
1 | result = [] |
把上边的这部分展开一下
1 | def backrack(游标,一路选择后的结果): |
1 | def backtrack(int i,int trace): |
当nums[i] = 0时有重复子问题,发现一个必然有很多个因此可以使用备忘录优化