Skip to content

Commit 47b56fe

Browse files
authored
Create 36-valid-sudoku.js
1 parent 7ed140e commit 47b56fe

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

36-valid-sudoku.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* @param {character[][]} board
3+
* @return {boolean}
4+
*/
5+
const isValidSudoku = function(board) {
6+
let seen = new Set()
7+
for (let i = 0; i < 9; ++i) {
8+
for (let j = 0; j < 9; ++j) {
9+
let number = board[i][j]
10+
if (number != '.')
11+
if (
12+
!hset(seen, number + ' in row ' + i) ||
13+
!hset(seen, number + ' in column ' + j) ||
14+
!hset(seen, number + ' in block ' + ~~(i / 3) + '-' + ~~(j / 3))
15+
)
16+
return false
17+
}
18+
}
19+
return true
20+
}
21+
function hset(s, val) {
22+
if (s.has(val)) return false
23+
else {
24+
s.add(val)
25+
return true
26+
}
27+
}

0 commit comments

Comments
 (0)