LeetCode 1136 Parallel Courses - Problem Statement

The problem

You have n courses and can take multiple courses simultaneously in each semester, as long as prerequisites are satisfied.

Given prerequisites as pairs [a, b] (course b must come before a), return the minimum number of semesters to complete all courses.

With n = 3 and relations = [[1,3],[2,3]]:

  • Courses 1 and 2 have no prereqs. Take both in semester 1.
  • Course 3 needs 1 and 2. Take it in semester 2.
  • Minimum: 2 semesters.

Return -1 if impossible (cycle exists).

Constraints: 1n50001 \le n \le 5000.