Skip to content

Commit 63428ca

Browse files
authored
Merge pull request #226 from hellomrsun/master
Add Course Schedule II C#
2 parents 82252e6 + 4255ab1 commit 63428ca

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
public class Solution {
2+
public int[] FindOrder(int numCourses, int[][] prerequisites) {
3+
if(numCourses == 0) return new int[0];
4+
5+
var indegree = new int[numCourses];
6+
for(int i=0; i<prerequisites.Length; i++){
7+
indegree[prerequisites[i][0]]++;
8+
}
9+
10+
var order = new int[numCourses];
11+
var index = 0;
12+
Queue<int> queue = new Queue<int>();
13+
for(int i=0; i<numCourses; i++){
14+
if(indegree[i] == 0){
15+
order[index++] = i;
16+
queue.Enqueue(i);
17+
}
18+
}
19+
20+
while(queue.Count > 0){
21+
var prerequi = queue.Dequeue();
22+
for(int i=0; i<prerequisites.Length; i++){
23+
if(prerequisites[i][1] == prerequi){
24+
indegree[prerequisites[i][0]]--;
25+
if(indegree[prerequisites[i][0]] == 0){
26+
order[index++] = prerequisites[i][0];
27+
queue.Enqueue(prerequisites[i][0]);
28+
}
29+
}
30+
}
31+
}
32+
33+
return (index == numCourses) ? order : new int[0];
34+
}
35+
}

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ Solutions in various programming languages are provided. Enjoy it.
2424
15. [Reverse Words in a String](https://github.com/AlgoStudyGroup/Leetcode/tree/master/July-LeetCoding-Challenge/15-Reverse-Words-in-a-String): Pointer
2525
16. [Pow(x,n)](https://github.com/AlgoStudyGroup/Leetcode/tree/master/July-LeetCoding-Challenge/16-Pow(x,n)): Recursion
2626
17. [Top K Frequent Elements](https://github.com/AlgoStudyGroup/Leetcode/tree/master/July-LeetCoding-Challenge/17-Top-K-Frequent-Elements): Bucket
27+
18. [Course Schedule II](https://github.com/AlgoStudyGroup/Leetcode/tree/master/July-LeetCoding-Challenge/18-Course-Schedule-II): BFS
28+
2729

2830
## June LeetCoding Challenge
2931
Click [here](https://leetcode.com/explore/challenge/card/june-leetcoding-challenge/) for problem descriptions.

0 commit comments

Comments
 (0)