You receive a prerequisites list in which each entry prerequisites[i] = [a, b] means course b has to be completed before course a may be taken.
For instance, [0, 1] means that course 1 must be finished prior to enrolling in course 0.
You must complete numCourses total courses, whose identifiers range from 0 through numCourses - 1.
Return true when every course can be completed; otherwise, return false.
Example 1:
Input: numCourses = 3, prerequisites = [[2,0]]
Output: true
Explanation:
Course 0 can be taken first because it has no requirement, after which course 2 can be completed.
Example 2:
Input: numCourses = 3, prerequisites = [[0,2],[2,1],[1,0]]
Output: false
Explanation:
Course 0 requires course 2, course 2 requires course 1, and course 1 requires course 0. This cycle prevents any valid completion order.
numCourses is between 1 and 1000, inclusive.prerequisites is from 0 to 1000, inclusive.prerequisites[i] contains exactly 2 values.a[i] and b[i] is at least 0 and less than numCourses.