Course Schedule
MediumGiven numCourses
and a list of prerequisite pairs where prerequisites[i] = [a, b]
means course a
depends on course b
, determine if it's possible to finish all courses. Return true
if possible, otherwise return false
.
Example:
Input: numCourses = 2, prerequisites = [[1,0]] Output: true Explanation: Course 1 requires Course 0, so you can complete them in order. Input: numCourses = 2, prerequisites = [[1,0],[0,1]] Output: false Explanation: There is a cycle (0 → 1 → 0), making it impossible to complete all courses.
Test Cases
Test Cases
Input
2 1 0 1
Expected Output
true
Step 1
Step 2
Step 3
Step 4
Step 1: Identify the Pattern
Course Schedule
MediumGiven numCourses
and a list of prerequisite pairs where prerequisites[i] = [a, b]
means course a
depends on course b
, determine if it's possible to finish all courses. Return true
if possible, otherwise return false
.
Example:
Input: numCourses = 2, prerequisites = [[1,0]] Output: true Explanation: Course 1 requires Course 0, so you can complete them in order. Input: numCourses = 2, prerequisites = [[1,0],[0,1]] Output: false Explanation: There is a cycle (0 → 1 → 0), making it impossible to complete all courses.
Test Cases
Test Cases
Input
2 1 0 1
Expected Output
true
Step 1
Step 2
Step 3
Step 4
Step 1: Identify the Pattern