#210

Course Schedule II

specialist · 790 · lc medium +31 · verified · 55% accepted · 11,888 likes · top 48%

play →

Description

You need to complete numCourses courses numbered 0 through numCourses - 1. The array prerequisites[i] = [ai, bi] indicates that bi must be taken before ai.

- For instance, [0, 1] means 1 is a prerequisite for 0.

Return a valid course order. If multiple orderings work, return any. If no valid order exists, return an empty array.

Example 1:

Input: numCourses = 2, prerequisites = [[1,0]]
Output: [0,1]
Explanation: There are a total of 2 courses to take. To take course 1 you should have finished course 0. So the correct course order is [0,1].

Example 2:

Input: numCourses = 4, prerequisites = [[1,0],[2,0],[3,1],[3,2]]
Output: [0,2,1,3]
Explanation: There are a total of 4 courses to take. To take course 3 you should have finished both courses 1 and 2. Both courses 1 and 2 should be taken after you finished course 0.
So one correct course order is [0,1,2,3]. Another correct ordering is [0,2,1,3].

Example 3:

Input: numCourses = 1, prerequisites = []
Output: [0]

Code

1
2
3