Skip to content

Commit a958ac2

Browse files
committed
Runtime: 104 ms (Top 89.12%) | Memory: 14 MB (Top 35.48%)
1 parent 02482e7 commit a958ac2

File tree

1 file changed

+25
-34
lines changed

1 file changed

+25
-34
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,64 @@
1+
# Runtime: 104 ms (Top 89.12%) | Memory: 14 MB (Top 35.48%)
12
class Solution:
23
def isValidSudoku(self, board: List[List[str]]) -> bool:
3-
4+
45
hrow = {}
56
hcol = {}
67
hbox = defaultdict(list)
7-
8-
8+
99
#CHECK FOR DUPLICATES ROWWISE
10-
for i in range(9):
10+
for i in range(9):
1111
for j in range(9):
12-
13-
12+
1413
#JUST THAT THE DUPLICATE SHOULDNT BE ","
1514
if board[i][j] != '.':
16-
15+
1716
if board[i][j] not in hrow:
1817
hrow[board[i][j]] = 1
19-
18+
2019
else:
2120
return False
22-
21+
2322
#CLEAR HASHMAP FOR THIS ROW
2423
hrow.clear()
2524
print("TRUE1")
2625
#CHECK FOR DUPLICATES COLUMNWISE
27-
28-
for i in range(9):
26+
27+
for i in range(9):
2928
for j in range(9):
30-
31-
29+
3230
#JUST THAT THE DUPLICATE SHOULDNT BE ","
3331
if board[j][i] != '.':
34-
32+
3533
if board[j][i] not in hcol:
3634
hcol[board[j][i]] = 1
37-
35+
3836
else:
3937
return False
40-
38+
4139
#CLEAR HASHMAP FOR THIS COL
42-
40+
4341
hcol.clear()
44-
42+
4543
print('TRUE2')
46-
47-
44+
4845
#CHECK DUPLICATE IN BOX, THIS IS WHERE KEY DESIGN SKILLS COME INTO PLAY, FOR SUDOKU YOU COMBINE ROW INDICES AND COL INDICES
49-
50-
46+
5147
for i in range(9):
5248
for j in range(9):
53-
49+
5450
i_3 = i //3
5551
j_3 = j//3
56-
52+
5753
# print(hbox)
5854
if board[i][j] != '.':
59-
55+
6056
#CHECK ELEMENT OF ORIGINAL INDICE present in key i_3 , j_3
6157
if board[i][j] not in hbox[i_3 , j_3]:
62-
# #CHECKED IN NEW KEY
63-
hbox[i_3 ,j_3 ]= hbox[i_3 ,j_3 ] + [board[i][j]]
64-
65-
58+
# #CHECKED IN NEW KEY
59+
hbox[i_3 ,j_3 ]= hbox[i_3 ,j_3 ] + [board[i][j]]
60+
6661
else:
6762
return False
68-
69-
70-
71-
63+
7264
return True
73-

0 commit comments

Comments
 (0)