dsa · medium

Course Schedule

There are num_courses courses labeled 0 .. num_courses-1. prerequisites[i] = [a, b] means you must take course b before course a.

Arguments

Return true if you can finish every course, false if a cycle of prerequisites makes that impossible.

Example

num_courses = 2, prerequisites = [[1,0]]true (take 0, then 1).

num_courses = 2, prerequisites = [[1,0],[0,1]]false (cycle).

Constraints

1 <= num_courses <= 2000 0 <= prerequisites.length <= 5000 prerequisites[i].length == 2 0 <= a, b < num_courses Hidden tests include near-max size for this bound; a slower-than-intended solution TLEs.

Examples

Example 1

Input:
2
[[1,0]]

Expected:
true

Example 2

Input:
2
[[1,0],[0,1]]

Expected:
false

Open in the Dojo editor