2016年12月8日 星期四

[LeetCode] 37. Sudoku Solver

轉自LeetCode

Write a program to solve a Sudoku puzzle by filling the empty cells.
Empty cells are indicated by the character '.'.
You may assume that there will be only one unique solution.
A sudoku puzzle...

...and its solution numbers marked in red.
<Solution>

這題是的 valid sudoku 衍生題,這次就真的要求解了

這邊有個神解,先記錄下來,還沒理解怎麼做的

這邊的想法是,要求一個解,但過程可能需要回溯,這時候就用 DFS
  • 在空格處從 1 填到 9,看看哪一個數字可以解
  • 填入數字後,檢查是否符合規則
  • 若是符合規則,就 DFS 繼續解下去
  • row == 9 的時候,就代表解完了
code 如下

沒有留言:

張貼留言