|
6 | 6 | import java.util.Queue;
|
7 | 7 | import java.util.Set;
|
8 | 8 |
|
9 |
| -/** |
10 |
| - * 210. Course Schedule II |
11 |
| - * |
12 |
| - * There are a total of n courses you have to take, labeled from 0 to n - 1. |
13 |
| - Some courses may have prerequisites, for example to take course 0 you have to first take course 1, |
14 |
| - which is expressed as a pair: [0,1] |
15 |
| - Given the total number of courses and a list of prerequisite pairs, |
16 |
| - return the ordering of courses you should take to finish all courses. |
17 |
| -
|
18 |
| - There may be multiple correct orders, |
19 |
| - you just need to return one of them. |
20 |
| - If it is impossible to finish all courses, return an empty array. |
21 |
| -
|
22 |
| - For example: |
23 |
| -
|
24 |
| - 2, [[1,0]] |
25 |
| - There are a total of 2 courses to take. |
26 |
| - To take course 1 you should have finished course 0. So the correct course order is [0,1] |
27 |
| -
|
28 |
| - 4, [[1,0],[2,0],[3,1],[3,2]] |
29 |
| - There are a total of 4 courses to take. |
30 |
| - To take course 3 you should have finished both courses 1 and 2. |
31 |
| - Both courses 1 and 2 should be taken after you finished course 0. |
32 |
| - So one correct course order is [0,1,2,3]. Another correct ordering is[0,2,1,3]. |
33 |
| -
|
34 |
| - Note: |
35 |
| - The input prerequisites is a graph represented by a list of edges, not adjacency matrices. Read more about how a graph is represented. |
36 |
| - You may assume that there are no duplicate edges in the input prerequisites. |
37 |
| - click to show more hints. |
38 |
| -
|
39 |
| - Hints: |
40 |
| - This problem is equivalent to finding the topological order in a directed graph. If a cycle exists, no topological ordering exists and therefore it will be impossible to take all courses. |
41 |
| - Topological Sort via DFS - A great video tutorial (21 minutes) on Coursera explaining the basic concepts of Topological Sort. |
42 |
| - Topological sort could also be done via BFS. |
43 |
| - */ |
44 | 9 | public class _210 {
|
45 | 10 |
|
46 | 11 | public static class Solution1 {
|
|
0 commit comments