14
this post was submitted on 02 Dec 2024
14 points (100.0% liked)
NotAwfulTech
385 readers
5 users here now
a community for posting cool tech news you don’t want to sneer at
non-awfulness of tech is not required or else we wouldn’t have any posts
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Day 9 seemed pretty straightforward, don't really have anything to add.
I had a lot of trouble because my input was truncated, despite the site warning me about that. Did I listen? I did not.
edit
day 9 discussion
Principal Skinner moment
"Did I miscopy the input?"
"No, it is my algorithm that is wrong"
kinda satisfying to figure out I was correct all along.
Part 2 is not as fast as I'd like (14s), but faster than it was. People on reddit are wittering on about search trees, me I just sling Perl hashrefs around
https://github.com/gustafe/aoc2024/blob/main/d09-Disk-Fragmenter.pl
Day 9 discussion
Part two for me was also very slow until I, speed up the index search by providing a lower bound for the insertion. for every insertion of size "N", I have an array lower = [null, 12, 36, ...], since from the left any time you find free space for a given size, the next time must be at an index at least one larger, which makes it close to being O(N) [assuming search for the next free space is more or less constant] instead of O(N^2), went from about 30s to 2s. https://github.com/zogwarg/advent-of-code/blob/main/2024/jq/09-b.jq