Valid Sudoku
来源:互联网 发布:关机命令linux 编辑:程序博客网 时间:2024/06/05 19:05
1.题目
请判定一个数独是否有效。
该数独可能只填充了部分数字,其中缺少的数字用 .
表示。
2.算法
用暴力方发,检测每一行,每一列,每个单元格是否合法
public class Dept {public boolean isValidSudoku(char[][] board) {if (board == null || board.length != 9 || board[0].length != 9) {return false;}//检测行for (int i = 0; i < 9; i++) {boolean[] map = new boolean[9];for (int j = 0; j < 9; j++) {if (board[i][j] != '.') {if (map[(int) (board[i][j] - '1')]) {return false;}map[(int) (board[i][j] - '1')] = true;}}}//检测列for (int i = 0; i < 9; i++) {boolean[] map = new boolean[9];for (int j = 0; j < 9; j++) {if (board[j][i] != '.') {if (map[(int) (board[j][i] - '1')]) {return false;}map[(int) (board[j][i] - '1')] = true;}}}//检测单元格for (int block = 0; block < 9; block++) {boolean[] map = new boolean[9];for (int i = block / 3 * 3; i < block / 3 * 3 + 3; i++) {for (int j = block % 3 * 3; j < block % 3 * 3 + 3; j++) {if (board[j][i] != '.') {if (map[(int) (board[j][i] - '1')]) {return false;}map[(int) (board[j][i] - '1')] = true;}}}}return true;}
0 0
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- 成为优秀程序员的10条黄金法则
- Hackonacci Matrix Rotations--模拟水题
- Input类
- 成功程序员的8个习惯
- Mysql创建Function出现This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA
- Valid Sudoku
- 抽象类、接口、内部类
- SpringMVC配置讲解(一)
- fmdb
- 一些常用的方法
- Windows面试题(一)
- centOS7开机挂载ntfs磁盘及windows引导修复
- Windows面试题(二)
- 如何在Unity中使用Fmod Studio