Parallel Courses
Medium · Graphs · about 20 minutes
Asked at Netflix, Snowflake, Uber, Google, ByteDance.
Courses are numbered 1..n, and each [prev, next] in relations means prev must be completed in an earlier semester than next. Each semester you may take any number of courses whose prerequisites are all completed. How many semesters do you need for every course? Return -1 if a cycle makes that impossible.