We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 45a5ef6 commit 0e4fe48Copy full SHA for 0e4fe48
src/main/scala/eu/sim642/adventofcode2024/Day18.scala
@@ -64,14 +64,12 @@ object Day18 {
64
65
@tailrec
66
def helper(after: Int, path: Set[Pos]): Int = {
67
- if (path(bytes(after))) {
68
- exitPath(bytes, max, after + 1) match {
69
- case Some(newPath) => helper(after + 1, newPath.toSet)
70
- case None => after + 1
71
- }
+ val newAfter = bytes.indexWhere(path, after) + 1
+ assert(newAfter >= 1) // indexWhere didn't return -1
+ exitPath(bytes, max, newAfter) match {
+ case Some(newPath) => helper(newAfter, newPath.toSet)
+ case None => newAfter
72
}
73
- else
74
- helper(after + 1, path)
75
76
77
val blockingAfter = helper(0, exitPath(bytes, max, 0).get.toSet)
0 commit comments