Medium · Graphs
Course Schedule
Given numCourses courses and prerequisite pairs [course, pre] (pre must be taken before course; the examples list them as adjacency lists pre → course), return an order that takes every course after all of its prerequisites (any valid order is accepted), or null if a prerequisite cycle makes that impossible.
Examples
Example 1
{
"adj": [
[1, 2],
[3],
[3],
[4],
[]
],
"pos": [
[176, 44],
[270, 112],
[234, 223],
[118, 223],
[82, 112]
]
}Output: order [0, 1, 2, 3, 4]
Example 2
{
"adj": [
[1],
[2],
[0],
[4],
[]
],
"pos": [
[176, 44],
[270, 112],
[234, 223],
[118, 223],
[82, 112]
]
}Output: null (cycle)
Rebuild it in the studio
Read every interview problem free. Ten rooms need no account. A token opens a problem in full — Pro never counts.