標籤:
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 ‘.‘.
解題思路:
傳說中的數獨(九宮格)問題,老實遍曆三個規則即可:
JAVA實現:
static public boolean isValidSudoku(char[][] board) {for (int i = 0; i < board.length; i++) {HashMap<Character, Integer> hashmap = new HashMap<Character, Integer>();for (int j = 0; j < board[0].length; j++) {if (board[i][j] != ‘.‘) {if (hashmap.containsKey(board[i][j]))return false;hashmap.put(board[i][j], 1);}}}for (int j = 0; j < board[0].length; j++) {HashMap<Character, Integer> hashmap = new HashMap<Character, Integer>();for (int i = 0; i < board.length; i++) {if (board[i][j] != ‘.‘) {if (hashmap.containsKey(board[i][j]))return false;hashmap.put(board[i][j], 1);}}} for (int i = 0; i < board.length; i += 3){ for (int j = 0; j < board[0].length; j += 3){ HashMap<Character, Integer> hashmap = new HashMap<Character, Integer>();for (int k = 0; k < 9; k++) {if (board[i + k / 3][j + k % 3] != ‘.‘) {if (hashmap.containsKey(board[i + k / 3][j + k % 3]))return false;hashmap.put(board[i + k / 3][j + k % 3], 1);}}}}return true;}
Java for LeetCode 036 Valid Sudoku