Мой подход: используйте numpy.vsplit и hsplit, чтобы разделить 9*9 на 9 блоков 3*3
и используйте функцию .flat для выравнивания каждого блока 3*3, затем используйте set(), чтобы проверить, список содержит дубликаты
Мой подход: используйте numpy.vsplit и hsplit, чтобы разделить 9*9 на 9 блоков 3*3 и используйте функцию .flat для выравнивания каждого блока 3*3, затем используйте set(), чтобы проверить, список содержит дубликаты
[code]import numpy as np def validSolution(board):
b=np.array(board) b=np.vsplit(b,3) for n,ar in enumerate(b): b[n]=np.hsplit(ar,3)
for ar in b: for arr in ar: print(len(set(arr.flat))==len(arr.flat))