@@ -12,23 +12,23 @@ def findOrder(self, numCourses, prerequisites):
12
12
:type prerequisites: List[List[int]]
13
13
:rtype: List[int]
14
14
"""
15
- indegree = collections .defaultdict (set )
16
- outdegree = collections .defaultdict (set )
15
+ in_degree = collections .defaultdict (set )
16
+ out_degree = collections .defaultdict (set )
17
17
for i , j in prerequisites :
18
- indegree [i ].add (j )
19
- outdegree [j ].add (i )
20
- q = collections .deque ([i for i in xrange (numCourses ) if i not in indegree ])
18
+ in_degree [i ].add (j )
19
+ out_degree [j ].add (i )
20
+ q = collections .deque ([i for i in xrange (numCourses ) if i not in in_degree ])
21
21
result = []
22
22
while q :
23
23
node = q .popleft ()
24
24
result .append (node )
25
- for i in outdegree [node ]:
26
- indegree [i ].remove (node )
27
- if not indegree [i ]:
25
+ for i in out_degree [node ]:
26
+ in_degree [i ].remove (node )
27
+ if not in_degree [i ]:
28
28
q .append (i )
29
- del indegree [i ]
30
- del outdegree [node ]
31
- return result if not indegree and not outdegree else []
29
+ del in_degree [i ]
30
+ del out_degree [node ]
31
+ return result if not in_degree and not out_degree else []
32
32
33
33
34
34
# Time: O(|V| + |E|)
@@ -41,20 +41,20 @@ def findOrder(self, numCourses, prerequisites):
41
41
:type prerequisites: List[List[int]]
42
42
:rtype: List[int]
43
43
"""
44
- indegree = collections .defaultdict (set )
45
- outdegree = collections .defaultdict (set )
44
+ in_degree = collections .defaultdict (set )
45
+ out_degree = collections .defaultdict (set )
46
46
for i , j in prerequisites :
47
- indegree [i ].add (j )
48
- outdegree [j ].add (i )
49
- stk = [i for i in xrange (numCourses ) if i not in indegree ]
47
+ in_degree [i ].add (j )
48
+ out_degree [j ].add (i )
49
+ stk = [i for i in xrange (numCourses ) if i not in in_degree ]
50
50
result = []
51
51
while stk :
52
52
node = stk .pop ()
53
53
result .append (node )
54
- for i in outdegree [node ]:
55
- indegree [i ].remove (node )
56
- if not indegree [i ]:
54
+ for i in out_degree [node ]:
55
+ in_degree [i ].remove (node )
56
+ if not in_degree [i ]:
57
57
stk .append (i )
58
- del indegree [i ]
59
- del outdegree [node ]
60
- return result if not indegree and not outdegree else []
58
+ del in_degree [i ]
59
+ del out_degree [node ]
60
+ return result if not in_degree and not out_degree else []
0 commit comments