日本供應鏈環節薄弱,高度依賴中國手機、膝上型電腦
阿新 • • 發佈:2022-02-07
用深搜dfs,返回值boolean表示找到了。
class Solution { public void solveSudoku(char[][] board) { dfs(board); } boolean dfs(char[][] board){ for(int i=0;i<9;i++){ for(int j=0;j<9;j++){ char ch=board[i][j]; if(ch!='.') continue; for(char k='1';k<='9';k++){ if(isValid(board,i,j,k)){ board[i][j]=k; if(dfs(board)) return true; board[i][j]='.'; } } return false; } } return true; } boolean isValid(char[][] board,int i,int j,char num){ for(int col=0;col<9;col++){ char ch=board[i][col]; if(ch==num) return false; } for(int row=0;row<9;row++){ char ch=board[row][j]; if(ch==num) return false; } int m=i/3,n=j/3; for(int r=m*3;r<m*3+3;r++){ for(int c=n*3;c<n*3+3;c++){ char ch=board[r][c]; if(ch==num) return false; } } return true; } }