Valid Sudoku
Determine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules:
- Each row must contain
the digits 1-9 without repetition.
- Each column must contain the digits 1-9 without
repetition.
- Each of the nine 3 x 3 sub-boxes
of the grid must contain the digits 1-9 without
repetition.
Note:
- A Sudoku board (partially filled) could be
valid but is not necessarily solvable.
- Only the filled cells need to be validated
according to the mentioned rules.
Example 1:
Constraints:
- board.length
== 9
- board[i].length
== 9
- board[i][j] is a digit or '.'.
Solution to the Above Question
class
Solution {
public:
bool
isValidSudoku(vector<vector<char>>& board) {
set<string>st;
for(int i=0; i<9; i++){
for(int j=0; j<9; j++){
if(board[i][j]!='.'){
if(st.find(to_string(board[i][j]) +"_R_"+ to_string(i))!=st.end() || st.find(to_string(board[i][j]) +"_C_"+ to_string(j))!=st.end() || st.find(to_string(board[i][j]) +"_B_"+ to_string(i/3) +" "+to_string(j/3))!=st.end()){
return false;
}
else{
st.insert(to_string(board[i][j])+"_R_"+to_string(i));
st.insert(to_string(board[i][j])+"_C_"+to_string(j));
st.insert(to_string(board[i][j])+"_B_"+to_string(i/3)
+" "+to_string(j/3));
}
}
}
}
return true;
}
};
0 Comments
If you have any doubts/suggestion/any query or want to improve this article, you can comment down below and let me know. Will reply to you soon.