Commit e487aca 1 parent ae286d8 commit e487aca Copy full SHA for e487aca
File tree 2 files changed +5
-2
lines changed
2 files changed +5
-2
lines changed Original file line number Diff line number Diff line change @@ -24,14 +24,16 @@ tags: ['回溯算法']
24
24
25
25
** -----------**
26
26
27
- 之前说过回溯算法是笔试中最好用的算法 ,只要你没什么思路,就用回溯算法暴力求解,即便不能通过所有测试用例,多少能过一点。
27
+ 我之前说过回溯算法是笔试中最好用的算法 ,只要你没什么思路,就用回溯算法暴力求解,即便不能通过所有测试用例,多少能过一点。
28
28
29
- 回溯算法的技巧也不难 ,前文 [ 回溯算法框架套路] ( https://labuladong.github.io/article/fname.html?fname=回溯算法详解修订版 ) 说过,回溯算法就是穷举一棵决策树的过程,只要在递归之前「做选择」,在递归之后「撤销选择」就行了。
29
+ 回溯算法的技巧也不算难 ,前文 [ 回溯算法框架套路] ( https://labuladong.github.io/article/fname.html?fname=回溯算法详解修订版 ) 说过,回溯算法就是穷举一棵决策树的过程,只要在递归之前「做选择」,在递归之后「撤销选择」就行了。
30
30
31
31
** 但是,就算暴力穷举,不同的思路也有优劣之分** 。
32
32
33
33
本文就来看一道非常经典的回溯算法问题,力扣第 698 题「划分为k个相等的子集」。这道题可以帮你更深刻理解回溯算法的思维,得心应手地写出回溯函数。
34
34
35
+ > note:阅读本文之前,建议先阅读并理解 [ 回溯算法秒杀排列/组合/子集问题] ( https://labuladong.github.io/article/fname.html?fname=子集排列组合 ) 。因为本文这道题所求的就是子集的问题,有一些模式和套路和原始的子集问题是非常类似的,可以结合着理解。
36
+
35
37
题目非常简单:
36
38
37
39
给你输入一个数组 ` nums ` 和一个正整数 ` k ` ,请你判断 ` nums ` 是否能够被平分为元素和相同的 ` k ` 个子集。
Original file line number Diff line number Diff line change @@ -976,6 +976,7 @@ void backtrack(int[] nums) {
976
976
- [ 回溯算法解题套路框架] ( https://labuladong.github.io/article/fname.html?fname=回溯算法详解修订版 )
977
977
- [ 我的刷题心得] ( https://labuladong.github.io/article/fname.html?fname=算法心得 )
978
978
- [ 算法时空复杂度分析实用指南] ( https://labuladong.github.io/article/fname.html?fname=时间复杂度 )
979
+ - [ 经典回溯算法:集合划分问题] ( https://labuladong.github.io/article/fname.html?fname=集合划分 )
979
980
980
981
</details ><hr >
981
982
You can’t perform that action at this time.
0 commit comments