Course Schedule — Python Coding Problem
Difficulty: medium | Category: graph
Problem Description
There are a total of `numCourses` courses you have to take, labeled from `0` to `numCourses - 1`. You are given an array `prerequisites` where `prerequisites[i] = [ai, bi]` indicates that you must take course `bi` first if you want to take course `ai`. Return `true` if you can finish all courses, otherwise `false`. **Hint:** This is a cycle detection problem in a directed graph. Use DFS or BFS (Kahn's algorithm).
Examples
Example 1
Input: numCourses = 2, prerequisites = [[1,0]]
Output: true
Explanation: Take course 0, then course 1.
Example 2
Input: numCourses = 2, prerequisites = [[1,0],[0,1]]
Output: false
Explanation: Cycle: 0→1→0.