mirror of
				https://gitee.com/coder-xiaomo/leetcode-problemset
				synced 2025-11-04 11:43:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<p>一个 <code>n x n</code> 的二维网络 <code>board</code> 仅由 <code>0</code> 和 <code>1</code> 组成 。每次移动,你能交换任意两列或是两行的位置。</p>
 | 
						||
 | 
						||
<p>返回 <em>将这个矩阵变为<strong>  “棋盘”  </strong>所需的最小移动次数 </em>。如果不存在可行的变换,输出 <code>-1</code>。</p>
 | 
						||
 | 
						||
<p><strong>“棋盘”</strong> 是指任意一格的上下左右四个方向的值均与本身不同的矩阵。</p>
 | 
						||
 | 
						||
<p> </p>
 | 
						||
 | 
						||
<p><strong>示例 1:</strong></p>
 | 
						||
 | 
						||
<p><img src="https://assets.leetcode.com/uploads/2021/06/29/chessboard1-grid.jpg" style="height: 145px; width: 500px;" /></p>
 | 
						||
 | 
						||
<pre>
 | 
						||
<strong>输入:</strong> board = [[0,1,1,0],[0,1,1,0],[1,0,0,1],[1,0,0,1]]
 | 
						||
<strong>输出:</strong> 2
 | 
						||
<strong>解释:</strong>一种可行的变换方式如下,从左到右:
 | 
						||
第一次移动交换了第一列和第二列。
 | 
						||
第二次移动交换了第二行和第三行。
 | 
						||
</pre>
 | 
						||
 | 
						||
<p><strong>示例 2:</strong></p>
 | 
						||
 | 
						||
<p><img src="https://assets.leetcode.com/uploads/2021/06/29/chessboard2-grid.jpg" /></p>
 | 
						||
 | 
						||
<pre>
 | 
						||
<strong>输入:</strong> board = [[0, 1], [1, 0]]
 | 
						||
<strong>输出:</strong> 0
 | 
						||
<strong>解释: </strong>注意左上角的格值为0时也是合法的棋盘,也是合法的棋盘.
 | 
						||
</pre>
 | 
						||
 | 
						||
<p><strong>示例 3:</strong></p>
 | 
						||
 | 
						||
<p><img src="https://assets.leetcode.com/uploads/2021/06/29/chessboard3-grid.jpg" /></p>
 | 
						||
 | 
						||
<pre>
 | 
						||
<strong>输入:</strong> board = [[1, 0], [1, 0]]
 | 
						||
<strong>输出:</strong> -1
 | 
						||
<strong>解释: </strong>任意的变换都不能使这个输入变为合法的棋盘。
 | 
						||
</pre>
 | 
						||
 | 
						||
<p> </p>
 | 
						||
 | 
						||
<p><strong>提示:</strong></p>
 | 
						||
 | 
						||
<ul>
 | 
						||
	<li><code>n == board.length</code></li>
 | 
						||
	<li><code>n == board[i].length</code></li>
 | 
						||
	<li><code>2 <= n <= 30</code></li>
 | 
						||
	<li><code>board[i][j]</code> 将只包含 <code>0</code>或 <code>1</code></li>
 | 
						||
</ul>
 |