aoc21
adventofcode
aoc21 | adventofcode | |
---|---|---|
4 | 7 | |
2 | 1 | |
- | - | |
0.0 | 8.7 | |
over 1 year ago | 4 months ago | |
Crystal | Rust | |
- | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
aoc21
-
Advent of Code Day 24: Computing with Sets
The way I solved this was by squinting a little and realizing that every time a div instruction happened, then a certain number following it needed to be 0, depending on the value of certain constants embedded in the code, and also on certain other fields in the input. So instead of starting with an input number, it is possible to calculate the min and max values the fields may contain right there, as long as we embed the field positions in a stack.
As this is only going through the code once, this is virtually instantaneous and ended up as the day that was fastest of all days to compute.
https://github.com/yxhuvud/aoc21/blob/main/day24.cr
-
[2021] Solving AoC with Rust before Python can start
My solution, https://github.com/yxhuvud/aoc21/blob/main/all_days.cr :
-
Speeding up Dijkstra by a factor of 2700
Yes, though sometimes it is possible to replace a fully general priority queue with a faster structure that is using the structure of the problem at hand. For example, this problem (AoC day 15) has only ever a count of unique priorities that is 10 or fewer. That allows a queue implementation to be https://github.com/yxhuvud/aoc21/blob/main/day15.cr#L27-L51 , being amortized O(1) in both insertion and deletion. This pushed down the runtime another magnitude for me, the whole day running at 0.014s.
- -🎄- 2021 Day 18 Solutions -🎄-
adventofcode
-
-🎄- 2022 Day 6 Solutions -🎄-
I ended up seeing if I could save time by using an array and tracking the set in a mutable way. It worked but much less concise: https://github.com/Japanuspus/adventofcode/blob/master/2022/day06/src/main.rs
-
-🎄- 2022 Day 1 Solutions -🎄-
Rust: https://github.com/Japanuspus/adventofcode/tree/master/2022/day01
-
-🎄- 2021 Day 18 Solutions -🎄-
My rust solution
-
-🎄- 2021 Day 6 Solutions -🎄-
Full code
-
-🎄- 2021 Day 5 Solutions -🎄-
Rust
-
-🎄- 2020 Day 23 Solutions -🎄-
My thoughts exactly. But after the initial dread, I just used a vector and used indexes into that as pointers. Think this is sort of a general rust pattern (https://github.com/Japanuspus/adventofcode/blob/master/2020/day23/src/main.rs).
What are some alternatives?
nom - Rust parser combinator framework
AdventOfCode2022
Advent-of-Code - Advent of Code
AdventOfCode2022 - Advent of Code 2022!!!!
aoc
tqdm - :zap: A Fast, Extensible Progress Bar for Python and CLI
advent-of-code
AdventOfCode2022
aoc-2021 - Complete Advent Of Code 2021 solutions in Go
advent-of-code-day-6 - My solution to Day 6 of Advent of Code.
advent-of-code-2022 - Repo containing solutions for Advent of Code 2022
advent-of-code - Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels.