diff options
author | HJ <thechairman@thechairman.info> | 2023-12-17 20:35:20 -0500 |
---|---|---|
committer | HJ <thechairman@thechairman.info> | 2023-12-17 20:35:20 -0500 |
commit | 7709cc9954456195d9894e092aa8d23e42125a16 (patch) | |
tree | dbe8ef13b9bfd8fbbae2f98c94ab474c5598efb4 /aoc2023/src/day5/solve.gleam | |
parent | 96c8dd61ba3804ea97927342bf7660985afed9eb (diff) | |
parent | 9f0d9e4de0e6a69b9770b227f669af75667b8c90 (diff) | |
download | gleam_aoc-7709cc9954456195d9894e092aa8d23e42125a16.tar.gz gleam_aoc-7709cc9954456195d9894e092aa8d23e42125a16.zip |
Merge branch 'main' of https://github.com/hunkyjimpjorps/AdventOfCode
Diffstat (limited to 'aoc2023/src/day5/solve.gleam')
-rw-r--r-- | aoc2023/src/day5/solve.gleam | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/aoc2023/src/day5/solve.gleam b/aoc2023/src/day5/solve.gleam index 7c05310..58e2ae0 100644 --- a/aoc2023/src/day5/solve.gleam +++ b/aoc2023/src/day5/solve.gleam @@ -132,17 +132,22 @@ fn do_remap_range(r: SeedRange, mapper: Mapper, acc: List(SeedRange)) { ] // range overlaps end but not start -> left side transformed, right side moves to next mapping [m, ..ms] if r.start >= m.start && r.end > m.end -> - do_remap_range(SRange(m.end + 1, r.end), ms, [ - transform_range(SRange(r.start, m.end), m), - ..acc - ]) + do_remap_range( + SRange(m.end + 1, r.end), + ms, + [transform_range(SRange(r.start, m.end), m), ..acc], + ) // mapping is fully inside range -> left not transformed, middle transformed, right to next [m, ..ms] -> - do_remap_range(SRange(m.end + 1, r.end), ms, [ - SRange(r.start, m.start - 1), - transform_range(SRange(m.start, m.end), m), - ..acc - ]) + do_remap_range( + SRange(m.end + 1, r.end), + ms, + [ + SRange(r.start, m.start - 1), + transform_range(SRange(m.start, m.end), m), + ..acc + ], + ) } } |