Course Schedule Feasibility
Problem statement
You need to complete numCourses courses labeled from 0 to numCourses - 1.
Each pair [course, prerequisite] means that prerequisite must be completed before course.
Return true if it is possible to complete every course. Otherwise, return false.
Function
canFinishCourses(numCourses: int, prerequisites: int[][]) → booleanExamples
Example 1
numCourses = 2prerequisites = [[1,0]]return = trueTake course 0 first, then course 1.
Example 2
numCourses = 2prerequisites = [[1,0],[0,1]]return = falseEach course requires the other first, so the prerequisite graph contains a cycle.
Example 3
numCourses = 4prerequisites = [[1,0],[2,1],[3,2]]return = trueThe order 0, 1, 2, 3 completes every course.
Constraints
1 <= numCourses <= 2,000.0 <= prerequisites.length <= 5,000.- Every prerequisite pair contains two valid course labels.
- A course is never listed as its own prerequisite.