We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 63428ca commit 1cece77Copy full SHA for 1cece77
July-LeetCoding-Challenge/18-Course-Schedule-II/Course-Schedule-II.cpp
@@ -0,0 +1,29 @@
1
+class Solution {
2
+public:
3
+
4
+ vector<int> findOrder(int numCourses, vector<vector<int>>& prerequisites) {
5
+ vector<int> deg(numCourses, 0);
6
+ vector<vector<int>> G(numCourses, vector<int>());
7
+ for (auto v: prerequisites){
8
+ deg[v[0]] ++;
9
+ G[v[1]].push_back(v[0]);
10
+ }
11
12
13
+ queue<int> q;
14
+ for (int i = 0; i < numCourses; i++) if (!deg[i]) q.push(i);
15
16
+ vector<int> ans;
17
+ while(!q.empty()){
18
+ int i = q.front(); q.pop();
19
+ ans.push_back(i);
20
+ for (auto j: G[i]){
21
+ deg[j]--;
22
+ if (!deg[j]) q.push(j);
23
24
25
26
+ if (ans.size() == numCourses) return ans;
27
+ return vector<int>();
28
29
+};
0 commit comments