擅长:python、mysql、java
<pre><code>def validate(board):
Hdiff = np.abs(np.diff(board))
Vdiff = np.abs(np.diff(board.T))
kernel = np.ones((1,2))
test = convolve2d(Hdiff, kernel, 'valid')
test2 = convolve2d(Vdiff, kernel, 'valid')
x1,y1 = np.nonzero(test == 0)
y2,x2 = np.nonzero(test2 == 0)
if len(x1):
board[x1,y1] = np.random.randint(0, 5, len(x1))
if len(x2):
board[x2,y2] = np.random.randint(0, 5, len(x2))
if len(x1) or len(x2):
return validate(board)
else:
return board
myBoard = np.random.randint(0, 5, (6, 5))
myBoard[1,2:5] = [3, 3, 3]
myBoard[0:3, 0] = [1, 1, 1]
print myBoard
print validate(myBoard)
</code></pre>
<p>原件:</p>
^{pr2}$
<p>已验证:</p>
^{3}$
<p>使用卷积来检测无效的行\列。在</p>