FastPrepCourse Schedule Feasibility

Course Schedule Feasibility

Tesla logoTesla● MediumINTERNPHONE SCREEN
Learn

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[][]) → boolean

Examples

Example 1

numCourses = 2prerequisites = [[1,0]]return = true

Take course 0 first, then course 1.

Example 2

numCourses = 2prerequisites = [[1,0],[0,1]]return = false

Each course requires the other first, so the prerequisite graph contains a cycle.

Example 3

numCourses = 4prerequisites = [[1,0],[2,1],[3,2]]return = true

The 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.

More Tesla problems

See Tesla hiring insights
public boolean canFinishCourses(int numCourses, int[][] prerequisites) {
  // write your code here
}
numCourses2
prerequisites[[1,0]]
expectedtrue
Checking account…