diff --git a/day-10/benchmark b/day-10/benchmark index 62cb9c8..9cfd52c 100644 --- a/day-10/benchmark +++ b/day-10/benchmark @@ -2,14 +2,14 @@ goos: linux goarch: amd64 pkg: github.com/onyx-and-iris/aoc2024/day-10 cpu: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz -BenchmarkSolve-12 1000000000 0.002208 ns/op -BenchmarkSolve-12 1000000000 0.002135 ns/op -BenchmarkSolve-12 1000000000 0.002113 ns/op -BenchmarkSolve-12 1000000000 0.002273 ns/op -BenchmarkSolve-12 1000000000 0.002123 ns/op -BenchmarkSolve-12 1000000000 0.002133 ns/op -BenchmarkSolve-12 1000000000 0.002054 ns/op -BenchmarkSolve-12 1000000000 0.002107 ns/op -BenchmarkSolve-12 1000000000 0.002664 ns/op -BenchmarkSolve-12 1000000000 0.002081 ns/op -ok github.com/onyx-and-iris/aoc2024/day-10 0.167s +BenchmarkSolve-12 1000000000 0.001775 ns/op +BenchmarkSolve-12 1000000000 0.001641 ns/op +BenchmarkSolve-12 1000000000 0.001804 ns/op +BenchmarkSolve-12 1000000000 0.001658 ns/op +BenchmarkSolve-12 1000000000 0.001679 ns/op +BenchmarkSolve-12 1000000000 0.001703 ns/op +BenchmarkSolve-12 1000000000 0.001641 ns/op +BenchmarkSolve-12 1000000000 0.001627 ns/op +BenchmarkSolve-12 1000000000 0.001654 ns/op +BenchmarkSolve-12 1000000000 0.001719 ns/op +ok github.com/onyx-and-iris/aoc2024/day-10 0.135s diff --git a/day-10/internal/one/benchmark b/day-10/internal/one/benchmark index df30523..48ce67f 100644 --- a/day-10/internal/one/benchmark +++ b/day-10/internal/one/benchmark @@ -2,5 +2,5 @@ goos: linux goarch: amd64 pkg: github.com/onyx-and-iris/aoc2024/day-10/internal/one cpu: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz -BenchmarkSolve-12 1000000000 0.001398 ns/op -ok github.com/onyx-and-iris/aoc2024/day-10/internal/one 0.014s +BenchmarkSolve-12 1000000000 0.0008911 ns/op +ok github.com/onyx-and-iris/aoc2024/day-10/internal/one 0.012s diff --git a/day-10/internal/one/solve.go b/day-10/internal/one/solve.go index 2ff23cc..9020eb0 100644 --- a/day-10/internal/one/solve.go +++ b/day-10/internal/one/solve.go @@ -25,29 +25,18 @@ func Solve(buf []byte) (int, error) { } queue.Enqueue(pos) - var score int - visited := make(map[point]struct{}) endpoints := make(map[point]struct{}) for !queue.IsEmpty() { current := queue.Dequeue() - _, ok := endpoints[current] - if ok { - continue - } - endpoints[current] = struct{}{} - if graph.valueAt(current) == target { - score++ + _, ok := endpoints[current] + if !ok { + endpoints[current] = struct{}{} + } continue } - _, ok = visited[current] - if ok { - continue - } - visited[current] = struct{}{} - for _, n := range neighbours(current) { if graph.isOutOfBounds(n) { continue @@ -60,8 +49,8 @@ func Solve(buf []byte) (int, error) { } } - log.Debugf("score for trailhead %v - %d\n", pos, score) - totalScore += score + log.Debugf("score for trailhead %v - %d\n", pos, len(endpoints)) + totalScore += len(endpoints) } return totalScore, nil diff --git a/day-10/internal/two/benchmark b/day-10/internal/two/benchmark index a764284..fe8990e 100644 --- a/day-10/internal/two/benchmark +++ b/day-10/internal/two/benchmark @@ -2,5 +2,5 @@ goos: linux goarch: amd64 pkg: github.com/onyx-and-iris/aoc2024/day-10/internal/two cpu: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz -BenchmarkSolve-12 1000000000 0.0009003 ns/op -ok github.com/onyx-and-iris/aoc2024/day-10/internal/two 0.012s +BenchmarkSolve-12 1000000000 0.0008468 ns/op +ok github.com/onyx-and-iris/aoc2024/day-10/internal/two 0.011s