Asked at
Course Schedule II
MediumVerifiedTopological SortBFSDFS~25 min
You have numCourses courses labeled 0..numCourses - 1. Each pair [a, b] in prerequisites means course b must be taken before course a.
Return any valid order in which to take all courses. If no valid order exists (a cycle), return an empty array.
The input arrives as a single object { numCourses, prerequisites }.
Examples
in{ numCourses: 2, prerequisites: [[1,0]] }
out[0, 1]
Course 0 has no prerequisite, so it comes before course 1.
in{ numCourses: 2, prerequisites: [[0,1],[1,0]] }
out[]
The two courses form a cycle, so no valid order exists.
Constraints
- 1 ≤ numCourses ≤ 2000
- 0 ≤ prerequisites.length ≤ 5000
- prerequisites[i] = [a, b] means b must be taken before a
- All prerequisite pairs are distinct.
Get help
🔑
Sign in to solve
Sign in to write, run, and submit your solution — and to pick up where your iOS flow left off.