class Solution {
public boolean isValidSudoku(char[][] board) {
for(int i = 0; i < 9; i++) {
for(int j = 0; j < 9; j++) {
if(board[i][j] == '.') continue;
if(!legel(board, i, j)) return false;
}
}
return true;
}
public boolean legel(char[][] board, int x, int y) {
int[] cs1 = new int[10];
for(int i = 0; i < 9; i++) {
if(board[i][y] == '.') {
continue;
}
// if(board[i][y] > '9' || board[i][y] < '1') {
// return false;
// }
cs1[board[i][y] - '0']++;
if(cs1[board[i][y] - '0'] > 1) {
return false;
}
}
int[] cs2 = new int[10];
for(int i = 0; i < 9; i++) {
if(board[x][i] == '.') {
continue;
}
// if(board[x][i] > '9' || board[x][i] < '1') {
// return false;
// }
cs2[board[x][i] - '0']++;
if(cs2[board[x][i] - '0'] > 1) {
return false;
}
}
int[] cs3 = new int[10];
int x1 = x / 3 * 3;
int y1 = y / 3 * 3;
for(int i = x1; i < x1 + 3; i++) {
for(int j = y1; j < y1 + 3; j++) {
if(board[i][j] == '.') {
continue;
}
// if(board[i][j] > '9' || board[i][j] < '1') {
// return false;
// }
cs3[board[i][j] - '0']++;
if(cs3[board[i][j] - '0'] > 1) {
return false;
}
}
}
return true;
}
}
36. 有效的数独
最新推荐文章于 2025-04-26 23:01:23 发布