36. Valid Sudoku

https://leetcode.com/problems/valid-sudoku/

每一行,每一列,每一个cube都但单独建一个hashset

class Solution:
    def isValidSudoku(self, board: List[List[str]]) -> bool:
        for i in range(9):
            row = set()
            col = set()
            cube = set()
            for j in range(9):
                if board[i][j] != ".":
                    if board[i][j] in row:
                        return False
                    row.add(board[i][j])
                if board[j][i] != ".":
                    if board[j][i] in col:
                        return False
                    col.add(board[j][i])
                currCube = board[i//3 * 3 + j//3][i % 3 * 3 + j % 3]
                if currCube != ".":
                    if currCube in cube:
                        return False
                    cube.add(currCube)
        return True

Last updated

Was this helpful?