您的位置:首页 > 其它

[LeetCode]36. Valid Sudoku

2016-12-29 15:55 246 查看
https://leetcode.com/problems/valid-sudoku/

判断是否为valid的数独问题

如何计算一个九宫格还是基本功啊!!!

如何通过一个双层循环就判断row+col+matrix三个约束条件

public class Solution {
public boolean isValidSudoku(char[][] board) {
for (int i = 0; i < 9; i++) {
HashSet<Character> row = new HashSet<>();
HashSet<Character> col = new HashSet<>();
HashSet<Character> matrix = new HashSet<>();
for (int j = 0; j < 9; j++) {
if (board[i][j] != '.' && !row.add(board[i][j])) {
return false;
}
if (board[j][i] != '.' && !col.add(board[j][i])) {
return false;
}
int rowIndex = 3 * (i / 3);
int colIndex = 3 * (i % 3);
if (board[rowIndex + j / 3][colIndex + j % 3] != '.' && !matrix.add(board[rowIndex + j / 3][colIndex + j % 3])) {
return false;
}
}
}
return true;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: