[Leetcode with python] 36. Valid Sudoku (# Hash table)

题目

https://leetcode.com/problems/valid-sudoku/
[Leetcode with python] 36. Valid Sudoku (# Hash table)
[Leetcode with python] 36. Valid Sudoku (# Hash table)

解题

遍历三次矩阵,三个规则都检验一次。

class Solution(object):
    def isValidSudoku(self, board):
        """
        :type board: List[List[str]]
        :rtype: bool
        """
        for row in board:
            d = {}
            for i in row:
                if i in d:
                    return False
                elif i != '.':
                    d[i] = 1
        for j in range(9):
            d = {}
            for i in range(9):
                if board[i][j] in d:
                    return False
                elif board[i][j] != '.':
                    d[board[i][j]] = 1
        for i in range(3):
            for j in range(3):
                d = {}
                for m in range(3*i, 3*(i+1)):
                    for n in range(3*j, 3*(j+1)):
                        if board[m][n] in d:
                            return False
                        elif board[m][n] != '.':
                            d[board[m][n]] = 1 
        return True