mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
update 0037.解数独: 修改错字
This commit is contained in:
@ -42,9 +42,9 @@
|
|||||||
|
|
||||||
**如果以上这几道题目没有做过的话,不建议上来就做这道题哈!**
|
**如果以上这几道题目没有做过的话,不建议上来就做这道题哈!**
|
||||||
|
|
||||||
[N皇后问题](https://programmercarl.com/0051.N皇后.html)是因为每一行每一列只放一个皇后,只需要一层for循环遍历一行,递归来来遍历列,然后一行一列确定皇后的唯一位置。
|
[N皇后问题](https://programmercarl.com/0051.N皇后.html)是因为每一行每一列只放一个皇后,只需要一层for循环遍历一行,递归来遍历列,然后一行一列确定皇后的唯一位置。
|
||||||
|
|
||||||
本题就不一样了,**本题中棋盘的每一个位置都要放一个数字(而N换后是一行只放一个皇后),并检查数字是否合法,解数独的树形结构要比N皇后更宽更深**。
|
本题就不一样了,**本题中棋盘的每一个位置都要放一个数字(而N皇后是一行只放一个皇后),并检查数字是否合法,解数独的树形结构要比N皇后更宽更深**。
|
||||||
|
|
||||||
因为这个树形结构太大了,我抽取一部分,如图所示:
|
因为这个树形结构太大了,我抽取一部分,如图所示:
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ bool backtracking(vector<vector<char>>& board)
|
|||||||
|
|
||||||
**那么有没有永远填不满的情况呢?**
|
**那么有没有永远填不满的情况呢?**
|
||||||
|
|
||||||
这个问题我在递归单层搜索逻辑里在来讲!
|
这个问题我在递归单层搜索逻辑里再来讲!
|
||||||
|
|
||||||
* 递归单层搜索逻辑
|
* 递归单层搜索逻辑
|
||||||
|
|
||||||
@ -207,7 +207,7 @@ public:
|
|||||||
|
|
||||||
所以我在开篇就提到了**二维递归**,这也是我自创词汇,希望可以帮助大家理解解数独的搜索过程。
|
所以我在开篇就提到了**二维递归**,这也是我自创词汇,希望可以帮助大家理解解数独的搜索过程。
|
||||||
|
|
||||||
一波分析之后,在看代码会发现其实也不难,唯一难点就是理解**二维递归**的思维逻辑。
|
一波分析之后,再看代码会发现其实也不难,唯一难点就是理解**二维递归**的思维逻辑。
|
||||||
|
|
||||||
**这样,解数独这么难的问题,也被我们攻克了**。
|
**这样,解数独这么难的问题,也被我们攻克了**。
|
||||||
|
|
||||||
@ -357,6 +357,7 @@ func solveSudoku(board [][]byte) {
|
|||||||
}
|
}
|
||||||
backtracking(board)
|
backtracking(board)
|
||||||
}
|
}
|
||||||
|
|
||||||
//判断填入数字是否满足要求
|
//判断填入数字是否满足要求
|
||||||
func isvalid(row, col int, k byte, board [][]byte) bool {
|
func isvalid(row, col int, k byte, board [][]byte) bool {
|
||||||
for i := 0; i < 9; i++ { //行
|
for i := 0; i < 9; i++ { //行
|
||||||
|
Reference in New Issue
Block a user