Find Course Order II

Given numCourses and prerequisite pairs, return one valid course order. Return an empty array if no valid order exists. Pattern focus: DFS Topological Order. Perform a postorder DFS and reverse the finish order to build the answer.

Input Format

numCourses = course count, prerequisites = prerequisite pairs [course, prerequisite]

Output Format

a valid course order or an empty array

Constraints

  • 1 <= input size <= 10^5
  • -10^9 <= numeric values <= 10^9

Examples

Example 1:

Input:

numCourses = 2
prerequisites = [[1,0]]

Output:

[0,1]

Explanation:

Course 0 must be completed before course 1.

Example 2:

Input:

numCourses = 4
prerequisites = [[1,0],[2,1],[3,2]]

Output:

[0,1,2,3]

Explanation:

The dependency chain forces a unique topological order.

Example 3:

Input:

numCourses = 2
prerequisites = [[1,0]]

Output:

[0,1]
Loading...
Find Course Order II - Topological Sort