mirror of
				https://gitee.com/coder-xiaomo/leetcode-problemset
				synced 2025-11-04 19:53:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<p>给你一个下标从 <strong>0</strong> 开始长度为 <code>n</code> 的整数数组 <code>nums</code> ,和一个下标从 <code>0</code> 开始长度为 <code>m</code> 的整数数组 <code>pattern</code> ,<code>pattern</code> 数组只包含整数 <code>-1</code> ,<code>0</code> 和 <code>1</code> 。</p>
 | 
						||
 | 
						||
<p>大小为 <code>m + 1</code> 的<span data-keyword="subarray">子数组</span> <code>nums[i..j]</code> 如果对于每个元素 <code>pattern[k]</code> 都满足以下条件,那么我们说这个子数组匹配模式数组 <code>pattern</code> :</p>
 | 
						||
 | 
						||
<ul>
 | 
						||
	<li>如果 <code>pattern[k] == 1</code> ,那么 <code>nums[i + k + 1] > nums[i + k]</code></li>
 | 
						||
	<li>如果 <code>pattern[k] == 0</code> ,那么 <code>nums[i + k + 1] == nums[i + k]</code></li>
 | 
						||
	<li>如果 <code>pattern[k] == -1</code> ,那么 <code>nums[i + k + 1] < nums[i + k]</code></li>
 | 
						||
</ul>
 | 
						||
 | 
						||
<p>请你返回匹配 <code>pattern</code> 的 <code>nums</code> 子数组的 <strong>数目</strong> 。</p>
 | 
						||
 | 
						||
<p> </p>
 | 
						||
 | 
						||
<p><strong class="example">示例 1:</strong></p>
 | 
						||
 | 
						||
<pre>
 | 
						||
<b>输入:</b>nums = [1,2,3,4,5,6], pattern = [1,1]
 | 
						||
<b>输出:</b>4
 | 
						||
<b>解释:</b>模式 [1,1] 说明我们要找的子数组是长度为 3 且严格上升的。在数组 nums 中,子数组 [1,2,3] ,[2,3,4] ,[3,4,5] 和 [4,5,6] 都匹配这个模式。
 | 
						||
所以 nums 中总共有 4 个子数组匹配这个模式。
 | 
						||
</pre>
 | 
						||
 | 
						||
<p><strong class="example">示例 2:</strong></p>
 | 
						||
 | 
						||
<pre>
 | 
						||
<b>输入:</b>nums = [1,4,4,1,3,5,5,3], pattern = [1,0,-1]
 | 
						||
<b>输出:</b>2
 | 
						||
<strong>解释:</strong>这里,模式数组 [1,0,-1] 说明我们需要找的子数组中,第一个元素小于第二个元素,第二个元素等于第三个元素,第三个元素大于第四个元素。在 nums 中,子数组 [1,4,4,1] 和 [3,5,5,3] 都匹配这个模式。
 | 
						||
所以 nums 中总共有 2 个子数组匹配这个模式。
 | 
						||
</pre>
 | 
						||
 | 
						||
<p> </p>
 | 
						||
 | 
						||
<p><strong>提示:</strong></p>
 | 
						||
 | 
						||
<ul>
 | 
						||
	<li><code>2 <= n == nums.length <= 10<sup>6</sup></code></li>
 | 
						||
	<li><code>1 <= nums[i] <= 10<sup>9</sup></code></li>
 | 
						||
	<li><code>1 <= m == pattern.length < n</code></li>
 | 
						||
	<li><code>-1 <= pattern[i] <= 1</code></li>
 | 
						||
</ul>
 |