2
public int[] findOrder(int numCourses, int[][] prerequisites) {3
Map<Integer, Set<Integer>> graph = new HashMap<>();4
int[] inDegree = new int[numCourses];5
for (int i = 0; i < numCourses; i++) {6
graph.put(i, new HashSet<Integer>());9
for (int[] pair : prerequisites) {10
graph.get(pair[1]).add(pair[0]);14
// BFS - Kahn's Algorithm - Topological Sort15
Queue<Integer> bfsContainer = new LinkedList<>();16
for (int i = 0; i < numCourses; i++) {17
if (inDegree[i] == 0) {23
int[] ans = new int[numCourses];24
while (!bfsContainer.isEmpty()) {25
int curr = bfsContainer.poll();27
for (Integer num : graph.get(curr)) {29
if (inDegree[num] == 0) {30
bfsContainer.add(num);35
if (count < numCourses) {