由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 求教一个题目,sudoku 下面代码哪里错了。。。
相关主题
求教Valid Sudoku[难题求助] leetcode wordsearch
leetcode Valid Sudoku 就是通不过Interleave Strings那个题目有O(n)时间 O(1)空间算法么?
面经interleave string 的题目
suduku solver这道题写代码有点难啊。写了一下leetcode上Valid Number,用boolean表示一些状态是不是比较简单
leetcode 一道题 valid palindromejava 基本问题
Sudokuleetcode是不是最近有点问题?
新鲜Amazon面经(附参考答案) 顺便求各种大公司refer请教个Amazo的题
Leetcode Timeout走迷宫的 时间复杂度是多少?谢谢
相关话题的讨论汇总
话题: board话题: int话题: return话题: val
进入JobHunting版参与讨论
1 (共1页)
b********g
发帖数: 43
1
public void solveSudoku(char[][] board) {
// Start typing your Java solution below
// DO NOT write main() function
solveSudoku(board,0,0);
}

private boolean isConsistent(char[][] board, int col, int row, int n) {
for(int i=0;i<9;i++)
if(board[i][col]==(n+'0'))
return false;
for(int j=0;j<9;j++) {
if(board[row][j]==(n+'0'))
return false;
}
//check small box
int boxrow = (row/3)*3;
int boxcolumn = (col/3)*3;
for(int i=boxrow;i for(int j=boxcolumn;j if(board[i][j]==(n+'0'))
return false;
}
}
return true;
}
private void solveSudoku(char[][] board, int i, int j) {
if (i == 9) {
i = 0;
if (++j == 9)
return;
}
if (board[i][j] != '.') {// skip filled cells
solveSudoku(board,i+1,j);
return;

}
for (int val = 1; val <= 9; ++val) {
if (isConsistent(board,i,j,val)) {
board[i][j] = (char)(val+'0');
solveSudoku(board,i+1,j);
}
}
board[i][j] = '.'; // reset on backtrack
return;
}
l*********8
发帖数: 4642
2
if (i == 9) {
i = 0;
if (++j == 9)
return;
}
在return之前要把找到的解输出吧?
f*****i
发帖数: 835
3
看了半天,程序好像是没有什么问题,但是这个复杂度太高,可能算不出结果
1 (共1页)
进入JobHunting版参与讨论
相关主题
走迷宫的 时间复杂度是多少?谢谢leetcode 一道题 valid palindrome
请问:解 Sudoku 可以用什么算法?Sudoku
sodoku solver 怎么做?新鲜Amazon面经(附参考答案) 顺便求各种大公司refer
leetcode online judge的Sudoku Solver有比backtracking好的解法吗?Leetcode Timeout
求教Valid Sudoku[难题求助] leetcode wordsearch
leetcode Valid Sudoku 就是通不过Interleave Strings那个题目有O(n)时间 O(1)空间算法么?
面经interleave string 的题目
suduku solver这道题写代码有点难啊。写了一下leetcode上Valid Number,用boolean表示一些状态是不是比较简单
相关话题的讨论汇总
话题: board话题: int话题: return话题: val