mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
50 lines
2.5 KiB
HTML
50 lines
2.5 KiB
HTML
<p>现在总共有 <code>numCourses</code> 门课需要选,记为 <code>0</code> 到 <code>numCourses-1</code>。</p>
|
||
|
||
<p>给定一个数组 <code>prerequisites</code> ,它的每一个元素 <code>prerequisites[i]</code> 表示两门课程之间的先修顺序。 例如 <code>prerequisites[i] = [a<sub>i</sub>, b<sub>i</sub>]</code> 表示想要学习课程 <code>a<sub>i</sub></code> ,需要先完成课程 <code>b<sub>i</sub></code> 。</p>
|
||
|
||
<p>请根据给出的总课程数 <code>numCourses</code> 和表示先修顺序的 <code>prerequisites</code> 得出一个可行的修课序列。</p>
|
||
|
||
<p>可能会有多个正确的顺序,只要任意返回一种就可以了。如果不可能完成所有课程,返回一个空数组。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong> numCourses = 2, prerequisites = [[1,0]]
|
||
<strong>输出: </strong><code>[0,1]</code>
|
||
<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><code>[0,1,2,3] or [0,2,1,3]</code>
|
||
<strong>解释:</strong> 总共有 4 门课程。要学习课程 3,你应该先完成课程 1 和课程 2。并且课程 1 和课程 2 都应该排在课程 0 之后。
|
||
因此,一个正确的课程顺序是 <code>[0,1,2,3]</code> 。另一个正确的排序是 <code>[0,2,1,3]</code> 。
|
||
</pre>
|
||
|
||
<p><strong>示例 3:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong> numCourses = 1, prerequisites = []
|
||
<strong>输出: </strong><code>[0]</code>
|
||
<strong>解释:</strong> 总共 1 门课,直接修第一门课就可。</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= numCourses <= 2000</code></li>
|
||
<li><code>0 <= prerequisites.length <= numCourses * (numCourses - 1)</code></li>
|
||
<li><code>prerequisites[i].length == 2</code></li>
|
||
<li><code>0 <= ai, bi < numCourses</code></li>
|
||
<li><code>ai != bi</code></li>
|
||
<li><code>prerequisites</code> 中不存在重复元素</li>
|
||
</ul>
|
||
|
||
<p> </p>
|
||
|
||
<p><meta charset="UTF-8" />注意:本题与主站 210 题相同:<a href="https://leetcode-cn.com/problems/course-schedule-ii/">https://leetcode-cn.com/problems/course-schedule-ii/</a></p>
|