1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-09-11 18:31:41 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
This commit is contained in:
2023-12-09 18:53:53 +08:00
parent c9b1bf36a8
commit 9bc4722a45
349 changed files with 15897 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
<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>