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, are it possible for your to finish all courses?
For example:
2, [[1,0]]
There is a total of 2 courses to take. To take course 1 should has finished course 0. So it is possible.
2, [[1,0],[0,1]]
There is a total of 2 courses to take. To take course 1 should has finished course 0, and to take course 0 you should also has finished course 1. So it is impossible.
Note:
The input prerequisites is a graph represented by a list of edges, not adjacency matrices. Read more on how a graph is represented.
Topological sort, in a directed graph, every time found node without pre-node, then remove all its edges. Until iterate all nodes or found cycle.
public boolean canfinish (int numcourses, int[][] prerequisites) {list
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
[Leetcode 207] Course Schedule