diff --git a/problems/周总结/20201030回溯周末总结.md b/problems/周总结/20201030回溯周末总结.md index 3a432bee..61270161 100644 --- a/problems/周总结/20201030回溯周末总结.md +++ b/problems/周总结/20201030回溯周末总结.md @@ -40,7 +40,7 @@ 在[回溯算法:求组合问题!](https://programmercarl.com/0077.组合.html)中,我们开始用回溯法解决第一道题目,组合问题。 -我在文中开始的时候给大家列举k层for循环例子,进而得出都是同样是暴利解法,为什么要用回溯法。 +我在文中开始的时候给大家列举k层for循环例子,进而得出都是同样是暴力解法,为什么要用回溯法。 **此时大家应该深有体会回溯法的魅力,用递归控制for循环嵌套的数量!** diff --git a/problems/回溯总结.md b/problems/回溯总结.md index cff41f24..b6ca5a86 100644 --- a/problems/回溯总结.md +++ b/problems/回溯总结.md @@ -55,7 +55,7 @@ void backtracking(参数) { 在[回溯算法:求组合问题!](https://programmercarl.com/0077.组合.html)中,我们开始用回溯法解决第一道题目:组合问题。 -我在文中开始的时候给大家列举k层for循环例子,进而得出都是同样是暴利解法,为什么要用回溯法! +我在文中开始的时候给大家列举k层for循环例子,进而得出都是同样是暴力解法,为什么要用回溯法! **此时大家应该深有体会回溯法的魅力,用递归控制for循环嵌套的数量!** @@ -117,7 +117,7 @@ void backtracking(参数) { 最后还给出了本题的剪枝优化,如下: -``` +```cpp for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target; i++) ``` @@ -251,7 +251,7 @@ if (startIndex >= nums.size()) { // 终止条件可以不加 [回溯算法:排列问题!](https://programmercarl.com/0046.全排列.html) 又不一样了。 -排列是有序的,也就是说[1,2] 和[2,1] 是两个集合,这和之前分析的子集以及组合所不同的地方。 +排列是有序的,也就是说 [1,2] 和 [2,1] 是两个集合,这和之前分析的子集以及组合所不同的地方。 可以看出元素1在[1,2]中已经使用过了,但是在[2,1]中还要在使用一次1,所以处理排列问题就不用使用startIndex了。