this post was submitted on 02 Dec 2024
14 points (100.0% liked)

NotAwfulTech

386 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
 

copy pasting the rules from last year's thread:

Rules: no spoilers.

The other rules are made up aswe go along.

Share code by link to a forge, home page, pastebin (Eric Wastl has one here) or code section in a comment.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

Day 9 seemed pretty straightforward, don't really have anything to add.

[–] [email protected] 3 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

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

[–] [email protected] 1 points 2 weeks ago* (last edited 2 weeks ago)

Day 9 discussionPart 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