We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent dc9aebd commit d277c68Copy full SHA for d277c68
course-schedule/yhkee0404.swift
@@ -0,0 +1,32 @@
1
+class Solution {
2
+ func canFinish(_ numCourses: Int, _ prerequisites: [[Int]]) -> Bool {
3
+ var adj: [[Int]] = Array(repeating: [], count: numCourses)
4
+ for ab in prerequisites {
5
+ adj[ab[0]].append(ab[1])
6
+ }
7
+ var visited = Array(repeating: 0, count: numCourses)
8
+ var stack = Array(0..<numCourses)
9
+ while !stack.isEmpty {
10
+ let u = stack.last!
11
+ if visited[u] == 2 {
12
+ stack.removeLast()
13
+ continue
14
+ } else if visited[u] == 1 {
15
+ visited[u] = 2
16
17
18
19
+ visited[u] = 1
20
+ for v in adj[u] {
21
+ if visited[v] == 1 {
22
+ return false
23
24
+ if visited[v] == 2 {
25
26
27
+ stack.append(v)
28
29
30
+ return true
31
32
+}
0 commit comments