Courses are numbered 0..numCourses-1. Each prerequisite pair [course, prerequisite] requires the second course before the first. Return whether all courses can be completed.
Example 1
Prerequisite → course. Each [course, prerequisite] pair is reversed to show the required order.
Input
numCourses = 3
prerequisites = [[1,0],[2,1]]
Output
true
Explanation
The chain requires 0 before 1 before 2 and contains no cycle.
Example 2
Prerequisite → course. Each [course, prerequisite] pair is reversed to show the required order.
Input
numCourses = 2
prerequisites = [[0,1],[1,0]]
Output
false
Explanation
The two courses require each other, creating a cycle.
Example 3
Prerequisite → course. Each [course, prerequisite] pair is reversed to show the required order.
Input
numCourses = 1
prerequisites = []
Output
true
Explanation
The lone course has no prerequisites.
Constraints
1 <= numCourses <= 2000
At most 5000 distinct prerequisite pairs
IDs are in range
Function contractcanFinishArguments: json, json
Loading draft…
SolutionRuns on your device
Loading draft…
Run: 3 examples; Submit: 33 cases, on your device.