首页 > 代码库 > 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.
按照数独的规则,一行、一列、对角线、9个小格中不出现同一个数字。
import java.util.ArrayList; import java.util.List; public class ValidSudoku { public boolean isValidSudoku(char[][] board) { for(int i=0;i<9;i++){ List<Character> list = new ArrayList<Character>(); for(int j=0;j<9;j++) list.add(board[i][j]); if(!isValid(list)) return false; } for(int i=0;i<9;i++){ List<Character> list = new ArrayList<Character>(); for(int j=0;j<9;j++) list.add(board[j][i]); if(!isValid(list)) return false; } for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ List<Character> list = new ArrayList<Character>(); for(int k=0;k<3;k++){ for(int l=0;l<3;l++){ list.add(board[i*3+k][j*3+l]); } } if(!isValid(list)) return false; } } return true; } private boolean isValid(List<Character> list){ for(Character ch : list){ if(ch != '.') if(list.indexOf(ch) != list.lastIndexOf(ch)) return false; } return true; } }
LeetCode——Valid Sudoku
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。