# Valid Sudoku

## 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:

1. Each row must contain the digits 1-9 without repetition.
2. Each column must contain the digits 1-9 without repetition.
3. 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;

}

};