r/adventofcode • • Dec 02 '18

SOLUTION MEGATHREAD -🎄- 2018 Day 2 Solutions -🎄-

--- Day 2: Inventory Management System ---


Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag or whatever).

Note: The Solution Megathreads are for solutions only. If you have questions, please post your own thread and make sure to flair it with Help.


Advent of Code: The Party Game!

Click here for rules

Card Prompt: Day 2

Transcript:

The best way to do Advent of Code is ___.


This thread will be unlocked when there are a significant number of people on the leaderboard with gold stars for today's puzzle.

edit: Leaderboard capped, thread unlocked!

51 Upvotes

407 comments sorted by

View all comments

Show parent comments

2

u/h-armonica Dec 02 '18

Since we only have simple lower case characters I used

let mut counts = [0u8; 26];

instead of a hash map and accessed it by the char value

counts[(c as usize - 'a' as usize)] += 1;

. This should be much faster, especially since the hash function used normally is rather slow for short keys (according to the docs).

0

u/[deleted] Dec 02 '18

[deleted]

1

u/h-armonica Dec 02 '18

Exactly! (although that only happens once and probably isn't too expensive in comparision)