Skip to content

Commit 536e575

Browse files
committed
二刷37
1 parent 179d77f commit 536e575

File tree

12 files changed

+197
-13
lines changed

12 files changed

+197
-13
lines changed

README.adoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -285,12 +285,12 @@ TIP: **公众号的微信号是: `jikerizhi`**。__因为众所周知的原因
285285
|Medium
286286
|
287287

288-
//|{counter:codes}
289-
//|{leetcode_base_url}/sudoku-solver/[37. Sudoku Solver^]
290-
//|{source_base_url}/_0037_SudokuSolver.java[Java]
291-
//|{doc_base_url}/0037-sudoku-solver.adoc[题解]
292-
//|Hard
293-
//|
288+
|{counter:codes}
289+
|{leetcode_base_url}/sudoku-solver/[37. Sudoku Solver^]
290+
|{source_base_url}/_0037_SudokuSolver.java[Java]
291+
|{doc_base_url}/0037-sudoku-solver.adoc[题解]
292+
|Hard
293+
|
294294

295295
|{counter:codes}
296296
|{leetcode_base_url}/count-and-say/[38. Count and Say^]

docs/0000-23-backtrack.adoc

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,34 @@
77

88
回溯优化,重要的是,要学会剪枝!
99

10+
回溯三部曲:
11+
12+
. 定义递归函数以及参数
13+
. 确定递归终止条件
14+
. 思考递归单层搜索逻辑
15+
16+
== 经典题目
17+
18+
image::images/backtrack-01.png[{image_attr}]
19+
20+
. xref:0077-combinations.adoc[77. Combinations]
21+
. xref:0216-combination-sum-iii.adoc[216. Combination Sum III]
22+
. xref:0017-letter-combinations-of-a-phone-number.adoc[17. Letter Combinations of a Phone Number]
23+
. xref:0039-combination-sum.adoc[39. Combination Sum]
24+
. xref:0040-combination-sum-ii.adoc[40. Combination Sum II]
25+
. xref:0131-palindrome-partitioning.adoc[131. Palindrome Partitioning]
26+
. xref:0093-restore-ip-addresses.adoc[93. Restore IP Addresses]
27+
. xref:0078-subsets.adoc[78. Subsets]
28+
. xref:0090-subsets-ii.adoc[90. Subsets II]
29+
. xref:0491-increasing-subsequences.adoc[491. Increasing Subsequences]
30+
. xref:0046-permutations.adoc[46. Permutations]
31+
. xref:0047-permutations-ii.adoc[47. Permutations II]
32+
. xref:0332-reconstruct-itinerary.adoc[332. Reconstruct Itinerary]
33+
. xref:0051-n-queens.adoc[51. N-Queens]
34+
. xref:0052-n-queens-ii.adoc[52. N-Queens II]
35+
. xref:0037-sudoku-solver.adoc[37. Sudoku Solver]
36+
37+
1038
== 附加题
1139

1240
. 写程序尝试生成递归调用树。

docs/0037-sudoku-solver.adoc

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ A sudoku solution must satisfy *all of the following rules*:
1515
1616
Empty cells are indicated by the character `'.'`.
1717

18-
image::images/0037-1.png[{image_attr}]
18+
image::images/0037-01.png[{image_attr}]
1919

2020
[.small]#A sudoku puzzle...#
2121

22-
image::images/0037-2.png[{image_attr}]
22+
image::images/0037-02.png[{image_attr}]
2323

2424
[.small]#...and its solution numbers marked in red.#
2525

@@ -33,13 +33,34 @@ image::images/0037-2.png[{image_attr}]
3333

3434
这道题特别需要关注的点是:只要找到一个解就可以了,不需要求全部解。所以,需要重点思考的是,如何在找到第一个解时,就立即停止搜索。
3535

36+
递归树
37+
38+
image::images/0037-03.png[{image_attr}]
39+
3640
[[src-0037]]
41+
[tabs]
42+
====
43+
一刷::
44+
+
45+
--
3746
[{java_src_attr}]
3847
----
3948
include::{sourcedir}/_0037_SudokuSolver.java[tag=answer]
4049
----
50+
--
51+
52+
二刷::
53+
+
54+
--
55+
[{java_src_attr}]
56+
----
57+
include::{sourcedir}/_0037_SudokuSolver_2.java[tag=answer]
58+
----
59+
--
60+
====
4161

4262
== 参考资料
4363

4464
. https://mp.weixin.qq.com/s/VCirGskFGPln-S2LGFTgKg[搞懂回溯算法,我终于能做数独了^]
65+
. https://leetcode.cn/problems/sudoku-solver/solutions/414261/37-jie-shu-du-hui-su-sou-suo-suan-fa-xiang-jie-by-/[37. 解数独 - 「代码随想录」带你学透回溯算法!^]
4566

File renamed without changes.
File renamed without changes.
File renamed without changes.

docs/images/0037-03.png

229 KB
Loading

docs/images/backtrack-01.png

339 KB
Loading

logbook/202406.adoc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -444,6 +444,11 @@
444444
|{doc_base_url}/0416-partition-equal-subset-sum.adoc[题解]
445445
|动态规划,0/1背包问题
446446

447+
|{counter:codes}
448+
|{leetcode_base_url}/sudoku-solver/[37. Sudoku Solver^]
449+
|{doc_base_url}/0037-sudoku-solver.adoc[题解]
450+
|回溯
451+
447452

448453
|===
449454

src/main/java/com/diguage/algo/leetcode/_0037_SudokuSolver.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
*/
1313
public class _0037_SudokuSolver {
1414
// tag::answer[]
15+
/**
16+
* * @author D瓜哥 · https://www.diguage.com
17+
* * @since 2020-03-25 09:34
18+
*/
1519
public void solveSudoku(char[][] board) {
1620
backtrack(board, 0);
1721
}

0 commit comments

Comments
 (0)