[LeetCode]37. Sudoku Solver
来源:互联网 发布:淘宝卖面膜怎么样 编辑:程序博客网 时间:2024/05/22 02:19
https://leetcode.com/problems/sudoku-solver/
递归+回溯,遍历到当前位置时判断是否valid,如果valid就将改过之后的board继续递归。
另外判断是否小正方形里面valid比较trick,学习下。这里面trick之处在于要对i和j都除三再乘三,以便于定位到9个正方形中[i, j]所在的那个
public class Solution { public void solveSudoku(char[][] board) { if (board == null || board.length == 0) { return; } solve(board); } private boolean solve(char[][] board) { for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { if (board[i][j] == '.') { for (char c = '1'; c <= '9'; c++) { if (valid(board, i, j, c)) { board[i][j] = c; if (solve(board)) { return true; } else { board[i][j] = '.'; } } } return false; } } } return true; } private boolean valid(char[][] board, int row, int col, char c) { for (int i = 0; i < 9;i ++) { if (board[row][i] == c) { return false; } if (board[i][col] == c) { return false; } if (board[3 * (row / 3) + (i / 3)][3 * (col / 3) + (i % 3)] == c) { return false; } } return true; }}
0 0
- LeetCode --- 37. Sudoku Solver
- LeetCode 37.Sudoku Solver
- [Leetcode] 37. Sudoku Solver
- [leetcode] 37. Sudoku Solver
- Leetcode 37. Sudoku Solver
- leetcode 37. Sudoku Solver
- LeetCode 37. Sudoku Solver
- leetcode.37. Sudoku Solver
- LeetCode-37.Sudoku Solver
- leetcode 37. Sudoku Solver
- (Leetcode)37. Sudoku Solver
- [LeetCode] 37. Sudoku Solver
- leetcode 37.Sudoku Solver
- leetcode 37. Sudoku Solver
- leetcode 37. Sudoku Solver
- leetcode-37. Sudoku Solver
- [LeetCode]37. Sudoku Solver
- leetcode 37. Sudoku Solver
- 媒体捕捉 - AVCaptureSession
- ubuntu14.04中更改python版本
- java基础--24.多线程的应用--电影院卖票程序的实现
- H5移动应用的发布优化(二)JS/CSS优化
- css三角
- [LeetCode]37. Sudoku Solver
- 面试总结
- 结构体理解与应用
- 用xcode编写python
- java自带线程池和队列详细讲解
- js的36个设计模式:结构型模式
- Layout中的weight
- 监理方如何审核《需求规格说明书》
- Bootstrap—解决引入本地Bootstrap文件字体图标无法显示问题