2
* @param {character[][]} board5
var isValidSudoku = function (board) {6
let rowMap = new Map();7
let colMap = new Map();8
let square = new Map();9
for (let i = 0; i < board.length; i++) {10
for (let j = 0; j < board[0].length; j++) {11
if (board[i][j] === ".") continue;12
if (!rowMap.has(i)) rowMap.set(i, new Set());13
if (!colMap.has(j)) colMap.set(j, new Set());14
let squareKey = Math.floor(i / 3) + "#" + Math.floor(j / 3);15
if (!square.has(squareKey)) square.set(squareKey, new Set());16
let rowSet = rowMap.get(i);17
let colSet = colMap.get(j);18
let squareSet = square.get(squareKey);20
rowSet.has(board[i][j]) ||21
colSet.has(board[i][j]) ||22
squareSet.has(board[i][j])25
rowSet.add(board[i][j]);26
colSet.add(board[i][j]);27
squareSet.add(board[i][j]);28
rowMap.set(i, rowSet);29
colMap.set(j, colSet);30
square.set(squareKey, squareSet);