1
+ /**
2
+ * @param {character[][] } board
3
+ * @return {boolean }
4
+ */
5
+ var isValidSudoku = function ( board ) {
6
+ let sudokuSet = new Set ( ) ;
7
+ for ( let i = 0 ; i < 9 ; i ++ ) {
8
+ for ( let j = 0 ; j < 9 ; j ++ ) {
9
+ if ( board [ i ] [ j ] !== '.' ) {
10
+ let val = board [ i ] [ j ] ;
11
+ if ( sudokuSet . has ( val + " in row " + i ) ||
12
+ sudokuSet . has ( val + " in column " + j ) ||
13
+
8000
sudokuSet . has ( val + " in block " + parseInt ( i / 3 ) + "-" + parseInt ( j / 3 ) ) ) {
14
+ return false ;
15
+ } else {
16
+ sudokuSet . add ( val + " in row " + i ) ;
17
+ sudokuSet . add ( val + " in column " + j ) ;
18
+ sudokuSet . add ( val + " in block " + parseInt ( i / 3 ) + "-" + parseInt ( j / 3 ) ) ;
19
+ }
20
+ }
21
+ }
22
+ }
23
+ return true ;
24
+ } ;
25
+
26
+ console . log ( isValidSudoku (
27
+ [
28
+ [ "5" , "3" , "." , "." , "7" , "." , "." , "." , "." ] ,
29
+ [ "6" , "." , "." , "1" , "9" , "5" , "." , "." , "." ] ,
30
+ [ "." , "9" , "8" , "." , "." , "." , "." , "6" , "." ] ,
31
+ [ "8" , "." , "." , "." , "6" , "." , "." , "." , "3" ] ,
32
+ [ "4" , "." , "." , "8" , "." , "3" , "." , "." , "1" ] ,
33
+ [ "7" , "." , "." , "." , "2" , "." , "." , "." , "6" ] ,
34
+ [ "." , "6" , "." , "." , "." , "." , "2" , "8" , "." ] ,
35
+ [ "." , "." , "." , "4" , "1" , "9" , "." , "." , "5" ] ,
36
+ [ "." , "." , "." , "." , "8" , "." , "." , "7" , "9" ]
37
+ ]
38
+ ) ) ;
0 commit comments