课程表 II
Category | Difficulty | Likes | Dislikes |
---|---|---|---|
algorithms | Medium (56.67%) | 800 | - |
Tags
depth-first-search
| breadth-first-search
| graph
| topological-sort
Companies
facebook
| zenefits
现在你总共有 numCourses
门课需要选,记为 0
到 numCourses - 1
。给你一个数组 prerequisites
,其中 prerequisites[i] = [a<sub>i</sub>, b<sub>i</sub>]
,表示在选修课程 a<sub>i</sub>
前 必须 先选修 b<sub>i</sub>
。
- 例如,想要学习课程
0
,你需要先完成课程1
,我们用一个匹配来表示:[0,1]
。
返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回 任意一种 就可以了。如果不可能完成所有课程,返回 一个空数组 。
示例 1:
|
|
示例 2:
|
|
示例 3:
|
|
提示:* 1 <= numCourses <= 2000
0 <= prerequisites.length <= numCourses * (numCourses - 1)
prerequisites[i].length == 2
0 <= a<sub>i</sub>, b<sub>i</sub> < numCourses
a<sub>i</sub> != b<sub>i</sub>
- 所有
[a<sub>i</sub>, b<sub>i</sub>]
互不相同
解法
|
|