You have numCourses courses labeled 0 to numCourses-1. Some courses have prerequisites: to take course a, you must first take course b.
Given the prerequisites as pairs [a, b], determine if you can finish all courses.
With numCourses = 2 and prerequisites = [[1,0]]:
- To take course 1, you need course 0 first.
- Take 0, then 1. Possible. Return true.
With numCourses = 2 and prerequisites = [[1,0],[0,1]]:
- Course 1 needs 0, course 0 needs 1. Circular dependency.
- Impossible. Return false.
Constraints: . Up to 5000 prerequisites.