Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules.
The Sudoku board could be partially filled, where empty cells are filled with the character '.'
.
A partially filled sudoku which is valid.
Note:
A valid Sudoku board (partially filled) is not necessarily solvable. Only the filled cells need to be validated.
Subscribe to see which companies asked this question
class Solution(object):
def isValidSudoku(self, board):
"""
:type board: List[List[str]]
:rtype: bool
"""
n_len = len(board)
#行中是否重复
for i in range(n_len):
temp = [0]*10
for j in range(n_len):
if board[i][j] != '.':
temp[int(board[i][j])] += 1
for t in temp:
if t > 1:
return False
#列中是否重复
for i in range(n_len):
temp = [0]*10
for j in range(n_len):
if board[j][i] != '.':
temp[int(board[j][i])] += 1
for t in temp:
if t > 1:
return False
#小正方形中是否重复
for k in range(0,3):
for l in range(0,3):
temp = [0]*10
for i in range(k*3,k*3+3):
for j in range(l*3,l*3+3):
if board[i][j] != '.':
temp[int(board[i][j])] += 1
for t in temp:
if t > 1:
return False
return True