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)/课程表 II [course-schedule-ii].html
2022-03-29 12:43:11 +08:00

45 lines
2.2 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>numCourses</code> 门课需要选,记为&nbsp;<code>0</code>&nbsp;&nbsp;<code>numCourses - 1</code>。给你一个数组&nbsp;<code>prerequisites</code> ,其中 <code>prerequisites[i] = [a<sub>i</sub>, b<sub>i</sub>]</code> ,表示在选修课程 <code>a<sub>i</sub></code><strong>必须</strong> 先选修&nbsp;<code>b<sub>i</sub></code></p>
<ul>
<li>例如,想要学习课程 <code>0</code> ,你需要先完成课程&nbsp;<code>1</code> ,我们用一个匹配来表示:<code>[0,1]</code></li>
</ul>
<p>返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回 <strong>任意一种</strong> 就可以了。如果不可能完成所有课程,返回 <strong>一个空数组</strong></p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre>
<strong>输入:</strong>numCourses = 2, prerequisites = [[1,0]]
<strong>输出:</strong>[0,1]
<strong>解释:</strong>总共有 2 门课程。要学习课程 1你需要先完成课程 0。因此正确的课程顺序为 <code>[0,1] 。</code>
</pre>
<p><strong>示例 2</strong></p>
<pre>
<strong>输入:</strong>numCourses = 4, prerequisites = [[1,0],[2,0],[3,1],[3,2]]
<strong>输出:</strong>[0,2,1,3]
<strong>解释:</strong>总共有 4 门课程。要学习课程 3你应该先完成课程 1 和课程 2。并且课程 1 和课程 2 都应该排在课程 0 之后。
因此,一个正确的课程顺序是&nbsp;<code>[0,1,2,3]</code> 。另一个正确的排序是&nbsp;<code>[0,2,1,3]</code></pre>
<p><strong>示例 3</strong></p>
<pre>
<strong>输入:</strong>numCourses = 1, prerequisites = []
<strong>输出:</strong>[0]
</pre>
<p>&nbsp;</p>
<strong>提示:</strong>
<ul>
<li><code>1 &lt;= numCourses &lt;= 2000</code></li>
<li><code>0 &lt;= prerequisites.length &lt;= numCourses * (numCourses - 1)</code></li>
<li><code>prerequisites[i].length == 2</code></li>
<li><code>0 &lt;= a<sub>i</sub>, b<sub>i</sub> &lt; numCourses</code></li>
<li><code>a<sub>i</sub> != b<sub>i</sub></code></li>
<li>所有<code>[a<sub>i</sub>, b<sub>i</sub>]</code> <strong>互不相同</strong></li>
</ul>