class Solution:
def isValidSudoku(self, board: List[List[str]]) -> bool:
row = [set([]) for i in range(9)]
col = [set([]) for i in range(9)]
grid = [set([]) for i in range(9)]
for i in range(9):
for j in range(9):
if board[i][j] == '.':
continue
if board[i][j] in row[i]:
return False
if board[i][j] in col[j]:
return False
gridIndex = i // 3 * 3 + j // 3
print(gridIndex)
if board[i][j] in grid[gridIndex]:
return False
row[i].add(board[i][j])
col[j].add(board[i][j])
grid[gridIndex].add(board[i][j])
return True
Time O(n^2). Space O(n^2).