(self, numCourses, prerequisites)
| 15 | return False |
| 16 | |
| 17 | def canFinish(self, numCourses, prerequisites): |
| 18 | deps = defaultdict(set) |
| 19 | for course, pre in prerequisites: |
| 20 | deps[pre].add(course) |
| 21 | |
| 22 | visited = set() |
| 23 | for course in range(numCourses): |
| 24 | tracker = set() |
| 25 | if self.hasCycle(course, deps, visited, tracker): |
| 26 | return False |
| 27 | |
| 28 | return True |