mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
65 lines
3.7 KiB
HTML
65 lines
3.7 KiB
HTML
<p>给定一个长度为 <code>n</code> 的整数数组 <code>nums</code> ,其中 <code>nums</code> 是范围为 <code>[1,n]</code> 的整数的排列。还提供了一个 2D 整数数组 <code>sequences</code> ,其中 <code>sequences[i]</code> 是 <code>nums</code> 的子序列。<br />
|
||
检查 <code>nums</code> 是否是唯一的最短 <strong>超序列</strong> 。最短 <strong>超序列</strong> 是 <strong>长度最短</strong> 的序列,并且所有序列 <code>sequences[i]</code> 都是它的子序列。对于给定的数组 <code>sequences</code> ,可能存在多个有效的 <strong>超序列</strong> 。</p>
|
||
|
||
<ul>
|
||
<li>例如,对于 <code>sequences = [[1,2],[1,3]]</code> ,有两个最短的 <strong>超序列</strong> ,<code>[1,2,3]</code> 和 <code>[1,3,2]</code> 。</li>
|
||
<li>而对于 <code>sequences = [[1,2],[1,3],[1,2,3]]</code> ,唯一可能的最短 <strong>超序列</strong> 是 <code>[1,2,3]</code> 。<code>[1,2,3,4]</code> 是可能的超序列,但不是最短的。</li>
|
||
</ul>
|
||
|
||
<p><em>如果 <code>nums</code> 是序列的唯一最短 <strong>超序列</strong> ,则返回 <code>true</code> ,否则返回 <code>false</code> 。</em><br />
|
||
<strong>子序列</strong> 是一个可以通过从另一个序列中删除一些元素或不删除任何元素,而不改变其余元素的顺序的序列。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>nums = [1,2,3], sequences = [[1,2],[1,3]]
|
||
<strong>输出:</strong>false
|
||
<strong>解释:</strong>有两种可能的超序列:[1,2,3]和[1,3,2]。
|
||
序列 [1,2] 是[<u><strong>1,2</strong></u>,3]和[<u><strong>1</strong></u>,3,<u><strong>2</strong></u>]的子序列。
|
||
序列 [1,3] 是[<u><strong>1</strong></u>,2,<u><strong>3</strong></u>]和[<u><strong>1,3</strong></u>,2]的子序列。
|
||
因为 nums 不是唯一最短的超序列,所以返回false。
|
||
</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>nums = [1,2,3], sequences = [[1,2]]
|
||
<strong>输出:</strong>false
|
||
<strong>解释:</strong>最短可能的超序列为 [1,2]。
|
||
序列 [1,2] 是它的子序列:[<u><strong>1,2</strong></u>]。
|
||
因为 nums 不是最短的超序列,所以返回false。
|
||
</pre>
|
||
|
||
<p><strong>示例 3:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>nums = [1,2,3], sequences = [[1,2],[1,3],[2,3]]
|
||
<strong>输出:</strong>true
|
||
<strong>解释:</strong>最短可能的超序列为[1,2,3]。
|
||
序列 [1,2] 是它的一个子序列:[<strong>1,2</strong>,3]。
|
||
序列 [1,3] 是它的一个子序列:[<u><strong>1</strong></u>,2,<u><strong>3</strong></u>]。
|
||
序列 [2,3] 是它的一个子序列:[1,<u><strong>2,3</strong></u>]。
|
||
因为 nums 是唯一最短的超序列,所以返回true。</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>n == nums.length</code></li>
|
||
<li><code>1 <= n <= 10<sup>4</sup></code></li>
|
||
<li><code>nums</code> 是 <code>[1, n]</code> 范围内所有整数的排列</li>
|
||
<li><code>1 <= sequences.length <= 10<sup>4</sup></code></li>
|
||
<li><code>1 <= sequences[i].length <= 10<sup>4</sup></code></li>
|
||
<li><code>1 <= sum(sequences[i].length) <= 10<sup>5</sup></code></li>
|
||
<li><code>1 <= sequences[i][j] <= n</code></li>
|
||
<li><code>sequences</code> 的所有数组都是 <strong>唯一 </strong>的</li>
|
||
<li><code>sequences[i]</code> 是 <code>nums</code> 的一个子序列</li>
|
||
</ul>
|
||
|
||
<p> </p>
|
||
|
||
<p>注意:本题与主站 444 题相同:<a href="https://leetcode-cn.com/problems/sequence-reconstruction/">https://leetcode-cn.com/problems/sequence-reconstruction/</a></p>
|