您的位置:首页 > 其它

LeetCode-Valid Sudoku

2013-08-18 20:50 239 查看
class Solution {
public:
bool isValidSudoku(vector<vector<char> > &board) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
bool ans = true;
const int gridSize = 9;
vector<set<char> > rowSets(gridSize);
vector<set<char> > colSets(gridSize);
vector<set<char> > gridSets(gridSize);
for (int i = 0; i < gridSize; ++i)
{
for (int j = 0; j < gridSize; ++j)
{
if (board[i][j] != '.')
{
if (rowSets[i].count(board[i][j]) == 0)
{
rowSets[i].insert(board[i][j]);
}
else
{
ans = false;
break;
}
if (colSets[j].count(board[i][j]) == 0)
{
colSets[j].insert(board[i][j]);
}
else
{
ans = false;
break;
}
int index = i / 3 * 3 + j / 3;
if (gridSets[index].count(board[i][j]) == 0)
{
gridSets[index].insert(board[i][j]);
}
else
{
ans = false;
break;
}
}

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