1def is_valid_sudoku(board):2 rows = defaultdict(set)3 cols = defaultdict(set)4 sq = defaultdict(set)56 for r in range(9):7 for c in range(9):8 if board[r][c] == ".":9 continue10 if board[r][c] in rows[r] or board[r][c] in cols[c] or board[r][c] in sq[(r // 3, c // 3)]:11 return False1213 rows[r].add(board[r][c])14 cols[c].add(board[r][c])15 sq[(r // 3, c // 3)].add(board[r][c])1617 return True