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
num_courses— how many courses, labeled 0 .. num_courses-1prerequisites— edges [a, b] meaning b must be taken before a
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