
/**
* @param {character[][]} board
* @return {boolean}
*/
/*
[3*Math.floor(i/3)+Math.floor(j/3)][3*(i%3)+(j%3)]
*/
var isValidSudoku = function(board) {
for(let i = 0; i < 9; i++) {
let row = new Set(), col = new Set(), box = new Set();
for(let j = 0; j < 9; j++) {
let rowElement = board[i][j];
let colElement = board[j][i];
let block = board[3*Math.floor(i/3)+Math.floor(j/3)][3*(i%3)+(j%3)]
if(rowElement !== ".") {
if(row.has(rowElement)) return false;
row.add(rowElement);
}
if(colElement !== ".") {
if(col.has(colElement)) return false;
col.add(colElement);
}
if(block !== ".") {
if(box.has(block)) return false;
box.add(block)
}
}
}
return true
};