Problem · Graph
Course Schedule
Learn this problemProblem statement
There are numCourses courses labeled from 0 through numCourses - 1. Each pair [course, prerequisite] means that prerequisite must be completed before course.
Return true if all courses can be completed. Return false if the prerequisite relationships contain a directed cycle.
Function
canFinish(numCourses: int, prerequisites: int[][]) → booleanExamples
Example 1
numCourses = 2prerequisites = [[1,0]]return = trueCourse 0 can be completed before course 1.
Example 2
numCourses = 2prerequisites = [[1,0],[0,1]]return = falseEach course requires the other first, so the graph contains a cycle.
Example 3
numCourses = 4prerequisites = [[1,0],[2,1],[3,2]]return = trueThe courses can be completed in the order 0, 1, 2, 3.
Constraints
1 <= numCourses <= 20000 <= prerequisites.length <= 5000- Every pair contains two valid course labels from
0throughnumCourses - 1.