Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 479a8f6

Browse files
committed
Merge pull request #132 from IbuAR/36-Valid-Sudoku.js
Add 36-Valid-Sudoku.js
2 parents 69c4af4 + 3f74504 commit 479a8f6

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

javascript/36-Valid-Sudoku.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/**
2+
* @param {character[][]} board
3+
* @return {boolean}
4+
*/
5+
var isValidSudoku = function (board) {
6+
const rows = {};
7+
const cols = {};
8+
const squares = {};
9+
10+
for (let r = 0; r < 9; r++) {
11+
for (let c = 0; c < 9; c++) {
12+
13+
if (board[r][c] == '.') continue;
14+
15+
const grid = ((r / 3) >> 0) + '' + ((c / 3) >> 0);
16+
17+
if (!cols[c]) cols[c] = new Set();
18+
if (!rows[r]) rows[r] = new Set();
19+
if (!squares[grid]) squares[grid] = new Set();
20+
21+
if (rows[r].has(board[r][c]) || cols[c].has(board[r][c]) || squares[grid].has(board[r][c])) {
22+
return false;
23+
}
24+
25+
cols[c].add(board[r][c])
26+
rows[r].add(board[r][c])
27+
squares[grid].add(board[r][c])
28+
}
29+
}
30+
31+
return true;
32+
33+
};
34+

0 commit comments

Comments
 (0)