三次9*9 循环,效率不高吧
class Solution:
# @param {character[][]} board
# @return {boolean}
def isValidSudoku(self, board):
if len(board)!=9 or len(board[0])!=9:
return False
for i in xrange(9):
map=[0 for k in range(10)]
for j in xrange(9):
if board[i][j]=='.': continue
if board[i][j]<'0' or board[i][j]>'9':
return False
num = int(board[i][j])
if map[num]==1: return False
else: map[num]=1
for j in xrange(9):
map=[0 for k in range(10)]
for i in xrange(9):
if board[i][j]=='.': continue
num = int(board[i][j])
if map[num]==1: return False
else: map[num]=1
for i in xrange(0, 9, 3):
for j in xrange(0, 9, 3):
map=[0 for k in range(10)]
for p in xrange(i, i+3):
for q in xrange(j, j+3):
if board[p][q]=='.': continue
num = int(board[p][q])
if map[num]==1: return False
else: map[num]=1
return True