mirror of
				https://gitee.com/coder-xiaomo/leetcode-problemset
				synced 2025-11-04 19:53:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			61 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<p>给你一个由字符组成的 <code>m x n</code> 矩阵 <code>grid</code> 和一个字符串 <code>pattern</code>。</p>
 | 
						||
 | 
						||
<p><strong data-end="264" data-start="240">水平子串</strong> 是从左到右的一段连续字符序列。如果子串到达了某行的末尾,它将换行并从下一行的第一个字符继续。<strong>不会 </strong>从最后一行回到第一行。</p>
 | 
						||
 | 
						||
<p><strong data-end="484" data-start="462">垂直子串</strong> 是从上到下的一段连续字符序列。如果子串到达了某列的底部,它将换列并从下一列的第一个字符继续。<strong>不会 </strong>从最后一列回到第一列。</p>
 | 
						||
 | 
						||
<p>请统计矩阵中满足以下条件的单元格数量:</p>
 | 
						||
 | 
						||
<ul>
 | 
						||
	<li>该单元格必须属于 <strong>至少</strong> 一个等于 <code>pattern</code> 的水平子串,且属于 <strong>至少</strong> 一个等于 <code>pattern</code> 的垂直子串。</li>
 | 
						||
</ul>
 | 
						||
 | 
						||
<p>返回满足条件的单元格数量。</p>
 | 
						||
 | 
						||
<p> </p>
 | 
						||
 | 
						||
<p><strong class="example">示例 1:</strong></p>
 | 
						||
<img alt="" src="https://pic.leetcode.cn/1745660164-PjoTAy-gridtwosubstringsdrawio.png" style="width: 150px; height: 187px;" />
 | 
						||
<div class="example-block">
 | 
						||
<p><strong>输入:</strong> <span class="example-io">grid = [["a","a","c","c"],["b","b","b","c"],["a","a","b","a"],["c","a","a","c"],["a","a","b","a"]], pattern = "abaca"</span></p>
 | 
						||
 | 
						||
<p><strong>输出:</strong> <span class="example-io">1</span></p>
 | 
						||
 | 
						||
<p><strong>解释:</strong></p>
 | 
						||
 | 
						||
<p><code>"abaca"</code> 作为一个水平子串(蓝色)和一个垂直子串(红色)各出现一次,并在一个单元格(紫色)处相交。</p>
 | 
						||
</div>
 | 
						||
 | 
						||
<p><strong class="example">示例 2:</strong></p>
 | 
						||
<img alt="" src="https://pic.leetcode.cn/1745660201-bMoajW-gridexample2fixeddrawio.png" style="width: 150px; height: 150px;" />
 | 
						||
<div class="example-block">
 | 
						||
<p><strong>输入:</strong> <span class="example-io">grid = [["c","a","a","a"],["a","a","b","a"],["b","b","a","a"],["a","a","b","a"]], pattern = "aba"</span></p>
 | 
						||
 | 
						||
<p><strong>输出:</strong> <span class="example-io">4</span></p>
 | 
						||
 | 
						||
<p><strong>解释:</strong></p>
 | 
						||
 | 
						||
<p>上述被标记的单元格都同时属于至少一个 <code>"aba"</code> 的水平和垂直子串。</p>
 | 
						||
</div>
 | 
						||
 | 
						||
<p><strong class="example">示例 3:</strong></p>
 | 
						||
 | 
						||
<div class="example-block">
 | 
						||
<p><strong>输入:</strong> <span class="example-io">grid = [["a"]], pattern = "a"</span></p>
 | 
						||
 | 
						||
<p><strong>输出:</strong> 1</p>
 | 
						||
</div>
 | 
						||
 | 
						||
<p> </p>
 | 
						||
 | 
						||
<p><strong>提示:</strong></p>
 | 
						||
 | 
						||
<ul>
 | 
						||
	<li><code>m == grid.length</code></li>
 | 
						||
	<li><code>n == grid[i].length</code></li>
 | 
						||
	<li><code>1 <= m, n <= 1000</code></li>
 | 
						||
	<li><code>1 <= m * n <= 10<sup>5</sup></code></li>
 | 
						||
	<li><code>1 <= pattern.length <= m * n</code></li>
 | 
						||
	<li><code>grid</code> 和 <code>pattern</code> 仅由小写英文字母组成。</li>
 | 
						||
</ul>
 |