首页 > 代码库 > LeetCode Valid Sudoku
LeetCode Valid Sudoku
Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules.
The Sudoku board could be partially filled, where empty cells are filled with the character ‘.‘
.
A partially filled sudoku which is valid.
Note:
A valid Sudoku board (partially filled) is not necessarily solvable. Only the filled cells need to be validated.
Sudoku规则:
在一个9*9的区域内,
每行1-9出现且只出现一次,
每列1-9出现且只出现一次,
在9个子3*3的区域内1-9出现且只出现一次。
1 public class Solution { 2 public boolean isValidSudoku(char[][] board) { 3 ArrayList<HashSet<Integer>> row = new ArrayList<HashSet<Integer>>(); 4 ArrayList<HashSet<Integer>> col = new ArrayList<HashSet<Integer>>(); 5 ArrayList<HashSet<Integer>> box = new ArrayList<HashSet<Integer>>(); 6 7 for (int i = 0; i < 9; i++) { 8 row.add(new HashSet<Integer>()); 9 col.add(new HashSet<Integer>());10 box.add(new HashSet<Integer>());11 }12 13 for (int i = 0; i < 9; i++) {14 for (int j = 0; j < 9; j++) {15 if (board[i][j] == ‘.‘) {16 continue;17 }18 if (row.get(i).contains(board[i][j]-‘0‘)) {19 return false;20 } else row.get(i).add(board[i][j]-‘0‘);21 22 if (col.get(j).contains(board[i][j] - ‘0‘)) {23 return false;24 }else col.get(j).add(board[i][j] - ‘0‘);25 26 int index = ((i / 3) * 3) + j / 3;27 if (box.get(index).contains(board[i][j] - ‘0‘)) {28 return false;29 }else box.get(index).add(board[i][j] - ‘0‘);30 }31 }32 33 return true;34 }35 }
LeetCode Valid Sudoku
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。