Inspiration for graph algorithm of day 6 https://github.com/APMorto/aoc2024/tree/master
-
Day 6
- Part 2: Speed up with Go channels
-
Day 7
- Part 1: Improve with generators for combinations
-
Day 16
- Learn Dijkstra
-
Day 18
- Learned DFS with a queue
-
Day 19
- Learned to stick to strings when working with combinatorics, numbers can get high
- To find every combination in DFS, put the return outside the for-loop
- Cache a recursive function after the recursive call mapping input to its return value.
-
Day 20
- When computing an alternative path, remember to subtract the new path cost from the original path to get the savings
- In a discrete grid, stick to Abs() to compute distances, don't use continuous approaches like pythagoras theorem which account for diagonal distances.
-
Day 23
- Finds loops of a particular size in an undirected graph using DFS
-
Day 16
- Dijkstra to find optimal path with turning and DFS to find all other optimal paths