1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/序列重建 [ur2n8P].html
2023-12-09 18:53:53 +08:00

65 lines
3.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>给定一个长度为 <code>n</code> 的整数数组 <code>nums</code> ,其中 <code>nums</code> 是范围为 <code>[1n]</code> 的整数的排列。还提供了一个 2D 整数数组&nbsp;<code>sequences</code>&nbsp;,其中&nbsp;<code>sequences[i]</code>&nbsp;&nbsp;<code>nums</code>&nbsp;的子序列。<br />
检查 <code>nums</code> 是否是唯一的最短&nbsp;<strong>超序列</strong> 。最短 <strong>超序列</strong><strong>长度最短</strong> 的序列,并且所有序列&nbsp;<code>sequences[i]</code>&nbsp;都是它的子序列。对于给定的数组&nbsp;<code>sequences</code>&nbsp;,可能存在多个有效的 <strong>超序列</strong></p>
<ul>
<li>例如,对于&nbsp;<code>sequences = [[1,2],[1,3]]</code>&nbsp;,有两个最短的 <strong>超序列</strong> <code>[1,2,3]</code><code>[1,3,2]</code></li>
<li>而对于&nbsp;<code>sequences = [[1,2],[1,3],[1,2,3]]</code>&nbsp;,唯一可能的最短 <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>&nbsp;</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>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>n == nums.length</code></li>
<li><code>1 &lt;= n &lt;= 10<sup>4</sup></code></li>
<li><code>nums</code>&nbsp;&nbsp;<code>[1, n]</code>&nbsp;范围内所有整数的排列</li>
<li><code>1 &lt;= sequences.length &lt;= 10<sup>4</sup></code></li>
<li><code>1 &lt;= sequences[i].length &lt;= 10<sup>4</sup></code></li>
<li><code>1 &lt;= sum(sequences[i].length) &lt;= 10<sup>5</sup></code></li>
<li><code>1 &lt;= sequences[i][j] &lt;= n</code></li>
<li><code>sequences</code>&nbsp;的所有数组都是 <strong>唯一 </strong></li>
<li><code>sequences[i]</code>&nbsp;&nbsp;<code>nums</code> 的一个子序列</li>
</ul>
<p>&nbsp;</p>
<p>注意:本题与主站 444&nbsp;题相同:<a href="https://leetcode-cn.com/problems/sequence-reconstruction/">https://leetcode-cn.com/problems/sequence-reconstruction/</a></p>