#leetcode210. 课程表 II
课程表 II
现在你总共有 numCourses 门课程需要学习,课程编号为 0 到 numCourses - 1。
给定数组 prerequisites,其中 prerequisites[i] = [a, b] 表示在学习课程 a 之前,必须先完成课程 b。
请返回一个能够完成所有课程的学习顺序。如果存在多个合法顺序,返回其中任意一个即可;如果不可能完成所有课程,返回空数组。
提交形式
本题采用 LeetCode 风格提交,只需要提交:
class Solution {
public:
vector<int> findOrder(int numCourses, vector<vector<int>>& prerequisites) {
// your code
}
};
不需要编写 main()。
数据范围
1 <= numCourses <= 20000 <= prerequisites.length <= numCourses * (numCourses - 1)prerequisites[i].length == 20 <= a_i, b_i < numCoursesa_i != b_i- 所有
[a_i, b_i]互不相同
样例 1
输入:
numCourses = 2, prerequisites = [[1,0]]
一种合法输出:
[0,1]
样例 2
输入:
numCourses = 4, prerequisites = [[1,0],[2,0],[3,1],[3,2]]
[0,1,2,3] 和 [0,2,1,3] 都是合法答案。
样例 3
输入:
numCourses = 1, prerequisites = []
输出:
[0]