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.
numCourses = course count, prerequisites = prerequisite pairs [course, prerequisite]
a valid course order or an empty array
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]