Skip to content

Commit a357eec

Browse files
committed
Jan 27
1 parent e6d0667 commit a357eec

File tree

2 files changed

+42
-4
lines changed

2 files changed

+42
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
from itertools import product
2+
from typing import List
3+
4+
5+
class Solution:
6+
def checkIfPrerequisite(
7+
self, numCourses: int, prerequisites: List[List[int]], queries: List[List[int]]
8+
) -> List[bool]:
9+
is_prerequisite = [[False] * numCourses for _ in range(numCourses)]
10+
for u, v in prerequisites:
11+
is_prerequisite[u][v] = True
12+
13+
for inter in range(numCourses):
14+
for u, v in product(range(numCourses), range(numCourses)):
15+
is_prerequisite[u][v] |= is_prerequisite[u][inter] and is_prerequisite[inter][v]
16+
17+
return [is_prerequisite[u][v] for u, v in queries]
18+
19+
20+
def main():
21+
numCourses = 2
22+
prerequisites = [[1, 0]]
23+
queries = [[0, 1], [1, 0]]
24+
assert Solution().checkIfPrerequisite(numCourses, prerequisites, queries) == [False, True]
25+
26+
numCourses = 2
27+
prerequisites = []
28+
queries = [[1, 0], [0, 1]]
29+
assert Solution().checkIfPrerequisite(numCourses, prerequisites, queries) == [False, False]
30+
31+
numCourses = 3
32+
prerequisites = [[1, 2], [1, 0], [2, 0]]
33+
queries = [[1, 0], [1, 2]]
34+
assert Solution().checkIfPrerequisite(numCourses, prerequisites, queries) == [True, True]
35+
36+
37+
if __name__ == '__main__':
38+
main()

2025-01-January-LeetCoding-Challenge/README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
| January 23 | [1267. Count Servers that Communicate](https://leetcode.com/problems/count-servers-that-communicate/) | Medium | Solved |
2929
| January 24 | [802. Find Eventual Safe States](https://leetcode.com/problems/find-eventual-safe-states/) | Medium | Unsolved |
3030
| January 25 | [2948. Make Lexicographically Smallest Array by Swapping Elements](https://leetcode.com/problems/make-lexicographically-smallest-array-by-swapping-elements/) | Medium | Solved |
31-
| January 26 | []() | | |
32-
| January 27 | []() | | |
31+
| January 26 | [2127. Maximum Employees to Be Invited to a Meeting](https://leetcode.com/problems/maximum-employees-to-be-invited-to-a-meeting/) | Hard | Unsolved |
32+
| January 27 | [1462. Course Schedule IV](https://leetcode.com/problems/course-schedule-iv/) | Medium | Solved |
3333
| January 28 | []() | | |
3434
| January 29 | []() | | |
3535
| January 30 | []() | | |
@@ -40,5 +40,5 @@
4040
| Level | Problems | Solved | Unsolved |
4141
| --- | --- | --- | --- |
4242
| Easy | 4 | 4 | 0 |
43-
| Medium | 18 | 15 | 3 |
44-
| Hard | 2 | 0 | 2 |
43+
| Medium | 19 | 16 | 3 |
44+
| Hard | 3 | 0 | 3 |

0 commit comments

Comments
 (0)