暴力,遍历竖列,横行,九个正方形序列。
package pro36;
import java.util.Arrays;
import java.util.Objects;
/**
* @Author: qiqu
*/
public class Solution {
public static boolean[] c = new boolean[9];
public boolean isValidSudoku(char[][] board) {
for(int i=0; i<9; i++){
Arrays.fill(c, false);
for(int j=0; j<9; j++){
if(Objects.equals(board[i][j], '.')){
continue;
}
int loc = board[i][j] - '1';
if(c[loc] == true){
return false;
} else {
c[loc]=true;
}
}
}
for(int j=0;j<9;j++){
Arrays.fill(c, false);
for(int i=0; i<9; i++){
if(Objects.equals(board[i][j], '.')){
continue;
}
int loc = board[i][j] - '1';
if(c[loc] == true){
return false;
} else {
c[loc]=true;
}
}
}
for(int x = 1; x<=3; x++){
for(int y = 1; y <=3; y++){
int xs = 3 * (x-1);
int ys = 3 * (y-1);
Arrays.fill(c, false);
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if(Objects.equals(board[xs + i][ys + j], '.')){
continue;
}
int loc = board[xs + i][ys + j] - '1';
if(c[loc] == true){
return false;
} else {
c[loc]=true;
}
}
}
}
}
return true;
}
}