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 3bf0137 commit 6f740b7Copy full SHA for 6f740b7
16.swift
@@ -53,15 +53,13 @@ func energized(by beam: Beam) -> Int {
53
}
54
55
func trace(beam: Beam, visited: inout Set<Beam>) {
56
- if visited.contains(beam) {
57
- return
58
- }
59
-
60
var (beam, bt) = (beam, beam)
61
var next: [Beam] = []
62
63
while isInBounds(beam) {
64
- visited.insert(beam)
+ if !visited.insert(beam).inserted {
+ break
+ }
65
66
switch item(at: beam) {
67
case .vbar where beam.isHorizontal:
@@ -89,7 +87,7 @@ func trace(beam: Beam, visited: inout Set<Beam>) {
89
87
90
88
91
92
- next.filter(isInBounds).forEach { trace(beam: $0, visited: &visited) }
+ next.forEach { trace(beam: $0, visited: &visited) }
93
94
95
func isInBounds(_ beam: Beam) -> Bool {
0 commit comments