LeetCode 207 Course Schedule - Problem Statement

The problem

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: 1numCourses20001 \le numCourses \le 2000. Up to 5000 prerequisites.