There is a total of n courses you have to take, labeled from 0
to n - 1
.
Some courses May has prerequisites, for example to take course 0 you have to first take course 1, which is expressed as a Pair[0,1]
Given the total number of courses and a list of prerequisite pairs, return the ordering of courses you should tak E to finish all courses.
There may is multiple correct orders, you just need to return one of the them. If It is impossible-to-finish all courses, return an empty array.
For example:
2, [[1,0]]
There is a total of 2 courses to take. To take course 1 should has finished course 0. So the correct course order is[0,1]
4, [[1,0],[2,0],[3,1],[3,2]]
there is a total of 4 courses to take. To take course 3 should has finished both courses 1 and 2. Both Courses 1 and 2 should is taken after you finished course 0. So one correct course order Is [0,1,2,3]
. Another correct ordering Is[0,2,1,3]
.
Note:
The input prerequisites is a graph represented by a list of edges, not adjacency matrices. Read more on how a graph is represented.
Solution:similar to ' course schedule ' need to record the path.
Public int[] FindOrder (int numcourses, int[][] prerequisites) {list
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
[LeetCode206] Course Schedule II