Skip to content
BASA DSA

Course Schedule

MediumGraphs

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.Prerequisite → course. Each [course, prerequisite] pair is reversed to show the required order. Vertices: node 0: 0, node 1: 1, node 2: 2. Edges: node 0 (0) → node 1 (1); node 1 (1) → node 2 (2).012
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.Prerequisite → course. Each [course, prerequisite] pair is reversed to show the required order. Vertices: node 0: 0, node 1: 1. Edges: node 1 (1) → node 0 (0); node 0 (0) → node 1 (1).01
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.Prerequisite → course. Each [course, prerequisite] pair is reversed to show the required order. Vertices: node 0: 0. Edges: none.0
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…