Course Schedule IV LeetCode solution in JavaScript

1
var checkIfPrerequisite = function (numCourses, prerequisites, queries) {
2
let adj = {};
3
for (let [from, to] of prerequisites) {
4
if (!adj[from]) {
5
adj[from] = [];
6
}
7

8
adj[from].push(to);
9
}
10

11
let set = {};
12
Object.keys(adj).forEach((key) => dfs(key));
13
return queries.map(([a, b]) => set[a]?.has(b) || false);
14

15
function dfs(cur) {
16
if (set[cur]) {
17
return set[cur];
18
}
19

20
if (!set[cur]) {
21
set[cur] = new Set();
22
}
23

24
for (let n of adj[cur] || []) {
25
set[cur].add(n);
26
dfs(n);
27
set[n].forEach(set[cur].add, set[cur]);
28
}
29
}
30
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0