bert
e0e1bc26e8
Simplify implementation day 8
...
The second part doesn't actually need to start the search at the low
points; just iterating everything and keeping track of visited spaces is
enough.
Now that the iterator is only used in part 1, we inline the iterator to
remove some overhead from the code.
2021-12-09 12:02:07 +01:00
bert
77ce31980b
Implement day 9
2021-12-09 11:56:29 +01:00
bert
8c78106846
Bit-optimize day 8
...
The state of a seven segment display can be stored in a byte after all.
Using NonZeroU8 makes the Options smaller too.
2021-12-08 13:52:08 +01:00
bert
22f767e8df
Implement day 08 2021
2021-12-08 13:31:33 +01:00
bert
3434966ac2
Just use the median, obviously
2021-12-07 13:22:43 +01:00
bert
c5f66fcc09
Avoid more allocations in day 7 part 1
2021-12-07 11:41:19 +01:00
bert
c02f1e11c5
Convert recursion to iteration
2021-12-07 11:00:26 +01:00
bert
d099614217
Improve part 2 with binary search
2021-12-07 10:40:34 +01:00
bert
766ee91719
Brute-force day 7 part 2
2021-12-07 10:12:01 +01:00
bert
2f3eb50a5b
Implement day 7 part 1
2021-12-07 09:45:58 +01:00
bert
b369f9d36a
Implement day 6 2021
2021-12-06 09:21:00 +01:00
bert
1433b0cdbe
Implement day 5
...
Nom is really nice and fast, why did I write parsers manually before.
2021-12-05 11:31:14 +01:00
bert
5e52da6e6b
Use iterator instead of range
2021-12-04 11:57:01 +01:00
bert
e50b812aed
Day 4: more efficiently ignore completed cards
2021-12-04 11:40:40 +01:00
bert
fdef10a78e
Less awkward line length hack
2021-12-04 11:28:32 +01:00
bert
392aefb32d
Less allocations in day 3 part 2
...
By working with binary numbers as integers rather than byte strings, we
don't need to allocate a Vec for each of them, reducing us to just the
allocations in the outer Vec.
2021-12-04 11:13:54 +01:00
bert
fb358be8f0
Implementation day 4 2021
2021-12-04 10:43:02 +01:00
bert
612d3ecb6b
Tricky solution day 03, could possibly be improved
2021-12-03 09:21:13 +01:00
bert
d08a4e0e4e
Merge day 1 solutions
2021-12-02 18:50:26 +01:00
bert
ed844a997c
Create reusable line reader
2021-12-02 18:27:48 +01:00
bert
c9468ba139
Implementation 2021 day 2
2021-12-02 08:21:49 +01:00
bert
938eda0d22
Rework day 1
...
Simplify part 2 a lot, by not actually computing the sums because they
do not matter, only the changes do. Also eliminate the allocation
overhead while parsing line-by-line input.
Fixes the existing clippy error because the offending line no longer
exists.
2021-12-01 20:35:27 +01:00
bert
f413b08da6
Very quick implementation for day 1
2021-12-01 09:30:03 +01:00
bert
10531e3422
Merge pull request #3 from bertptrs/prepare/2021
2021-12-01 09:08:43 +01:00
bert
2e0a7ea81d
Update READMEs for 2021.
2021-11-29 20:31:29 +01:00
bert
2c64028978
Enable debug information for release
2021-11-28 17:13:27 +01:00
bert
89159137fe
Add other days
2021-11-28 17:12:26 +01:00
bert
186d91d1b7
Use function pointers over dyn traits
2021-11-28 16:49:37 +01:00
bert
c985ba8a1a
Add CI for 2021
2021-11-22 18:51:59 +01:00
bert
cece8439a7
Initial 2021 runner
2021-11-20 11:57:32 +01:00
bert
5f98b62f21
2019 day 24 part 2
2021-10-29 08:30:21 +02:00
bert
affaf6e96f
2019 day 24 part 1
2021-10-28 17:55:17 +02:00
bert
a6996e5234
2019 day 19 part 2
2021-10-21 08:25:20 +02:00
bert
a64eff96a4
More efficiently scan lines
2021-10-21 08:16:08 +02:00
bert
7718fc59c6
2019 day 19 part 1
2021-10-21 08:05:22 +02:00
bert
4e3c9c75c5
Merge pull request #2 from bertptrs/rewrite-2019-python
2021-10-18 22:34:35 +02:00
bert
583b590a6c
Remove last C++ remnant.
2021-10-18 21:50:22 +02:00
bert
ef302bbeb7
Trivial reimplementation day 21
2021-10-18 19:45:36 +02:00
bert
5791760412
More efficiently pick items
2021-10-18 16:00:32 +02:00
bert
e66f3df949
Implement brute force for 2019 day 25
2021-10-18 15:51:44 +02:00
bert
71f54bac6b
Add minimal day 25 runner
2021-10-16 17:46:55 +02:00
bert
dbf6b2eb17
Add input day 23
2021-07-03 17:59:58 +02:00
bert
05e2a4f3a7
intcode: make execute current not protected
2021-07-03 17:59:43 +02:00
bert
ca43475a44
Implement day 23
2021-07-03 17:57:40 +02:00
bert
3f8c9505c3
Fix numpy deprecation
2021-07-03 15:26:38 +02:00
bert
befa2eefaa
Replace Travis with Github Actions
2021-07-03 15:20:52 +02:00
bert
22091fc8c3
Implement day 22 part 2
2021-07-03 15:05:49 +02:00
bert
abc742e2ad
Implement day 22 part 1
2021-07-03 14:15:11 +02:00
bert
8a137deae4
Update dependencies
2021-04-05 21:18:21 +02:00
bert
a43f260e1b
Implement day 17 part 1
2021-02-09 20:20:17 +01:00