您的位置:首页 > 其它

[Leetcode]Valid Sudoku

2014-09-30 07:19 295 查看
//多花了一点时间卡在了row[board[i][j]-'1']这里...忘记把char型改成第几个了...

class Solution {

public:

bool isValidSudoku(vector<vector<char> > &board) {

bool row[9]={0};

bool col[9]={0};

for(int i=0;i<9;i++)

{

for(int j=0;j<9;j++)

{

if(board[i][j]!='.'&&row[board[i][j]-'1']>0)return false;

else if(board[i][j]!='.')row[board[i][j]-'1']++;

if(board[j][i]!='.'&&col[board[j][i]-'1']>0)return false;

else if(board[j][i]!='.')col[board[j][i]-'1']++;

}

memset(row,0,sizeof(row));

memset(col,0,sizeof(col));

}

bool test[9]={0};

for(int i=0;i<9;i+=3)

for(int j=0;j<9;j+=3)

{

for(int k=i;k<i+3;k++)

{

for(int l=j;l<j+3;l++)

{

if(board[k][l]!='.'&&test[board[k][l]-'1'])

return false;

else if(board[k][l]!='.')

test[board[k][l]-'1']++;

}

}

memset(test,0,sizeof(test));

}

return true;

}

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