Medium

Quiz

#1462 Course Schedule IV

APPROACH

There are numCourses courses labeled 0 to numCourses - 1. The array prerequisites encodes direct dependencies: prerequisites[i] = [ai, bi] means course ai must be completed before course bi.

Prerequisite relationships are transitive — if a must precede b and b must precede c, then a must also precede c.

For each query [uj, vj] in queries, determine whether uj is a prerequisite (directly or indirectly) of vj. Return a boolean array answer where answer[j] is the result for query j.

Example 1:

Input: numCourses = 2, prerequisites = [[1,0]], queries = [[0,1],[1,0]]
Output: [false,true]
Explanation: The pair [1, 0] indicates that you have to take course 1 before you can take course 0.
Course 0 is not a prerequisite of course 1, but the opposite is true.

Example 2:

Input: numCourses = 2, prerequisites = [], queries = [[1,0],[0,1]]
Output: [false,false]
Explanation: There are no prerequisites, and each course is independent.

Example 3:

Input: numCourses = 3, prerequisites = [[1,2],[1,0],[2,0]], queries = [[1,0],[1,2]]
Output: [true,true]
1 of 4
1:00

What is the optimal approach for this problem?