您的位置:首页 > 其它

LeetCode-Valid Sudoku

2014-09-16 11:45 453 查看
//分别检查列,行,所在的块,看了别人的代码
class Solution {
public:

bool isValidSudoku(vector<vector<char> > &board)
{
bool used[9];

for(int i=0; i<9; ++i)
{
fill(used, used+9, false);

for(int j=0; j<9; ++j)
if(!check(board[i][j],used))
return false;

fill(used, used+9, false);

for(int j=0; j<9; ++j)
if(!check(board[j][i],used))
return false;
}

for(int r=0; r<3; ++r)
for(int c=0; c<3; ++c)
{
fill(used, used+9, false);

for(int i=r*3; i<r*3+3; ++i)
for(int j=c*3; j<c*3+3; ++j)
{
if(!check(board[j][i],used))
return false;
}
}
return true;
}
bool check(char ch, bool used[9])
{
if(ch == '.')
return true;

if(used[ch-'1'])
return false;

used[ch-'1']=true;
return true;
}

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  List