Skip to content

Commit 7dd755e

Browse files
committed
solve : course schedule
1 parent eb4174d commit 7dd755e

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

course-schedule/samthekorean.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# V is number of verticles and E is number of edges
2+
# TC : O(V+E)
3+
# SC : O(V+E)
4+
class Solution:
5+
def canFinish(self, numCourses: int, prerequisites: List[List[int]]) -> bool:
6+
7+
pre = defaultdict(list)
8+
9+
for course, p in prerequisites:
10+
pre[course].append(p)
11+
12+
taken = set()
13+
14+
def dfs(course):
15+
if not pre[course]:
16+
return True
17+
18+
if course in taken:
19+
return False
20+
21+
taken.add(course)
22+
23+
for p in pre[course]:
24+
if not dfs(p):
25+
return False
26+
27+
pre[course] = []
28+
return True
29+
30+
for course in range(numCourses):
31+
if not dfs(course):
32+
return False
33+
34+
return True

0 commit comments

Comments
 (0)