Refactor Day08 and Day09 to update collection types and method names for improved consistency and clarity

This commit is contained in:
Sebastian Lindemeier
2025-12-09 11:41:41 +01:00
parent 3360b6cfba
commit 411672d8c3
2 changed files with 10 additions and 10 deletions
+7 -7
View File
@@ -44,12 +44,12 @@ public class Day08 : IPuzzleSolver<long>
return lastConnected.a.x * lastConnected.b.x;
}
private List<List<Coordinate>> CreateCircuits(IEnumerable<Coordinate> jBoxes)
private List<HashSet<Coordinate>> CreateCircuits(IEnumerable<Coordinate> jBoxes)
{
return jBoxes.Select(p => new List<Coordinate> { p }).ToList();
return jBoxes.Select(p => new HashSet<Coordinate> { p }).ToList();
}
private List<List<Coordinate>> CombineCircuits(List<List<Coordinate>> circuits,
private List<HashSet<Coordinate>> CombineCircuits(List<HashSet<Coordinate>> circuits,
IEnumerable<(Coordinate boxA, Coordinate boxB)> jBoxPairs, int amountToConnect)
{
circuits = jBoxPairs
@@ -58,7 +58,7 @@ public class Day08 : IPuzzleSolver<long>
return circuits;
}
private (Coordinate a, Coordinate b) LastCombinedConnectAllCircuits(List<List<Coordinate>> circuits,
private (Coordinate a, Coordinate b) LastCombinedConnectAllCircuits(List<HashSet<Coordinate>> circuits,
IEnumerable<(Coordinate boxA, Coordinate boxB)> jBoxPairs)
{
foreach (var jBoxPair in jBoxPairs)
@@ -75,7 +75,7 @@ public class Day08 : IPuzzleSolver<long>
return (a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y) + (a.z - b.z) * (a.z - b.z);
}
private List<List<Coordinate>> ConnectJBoxes(Coordinate a, Coordinate b, List<List<Coordinate>> circuits)
private List<HashSet<Coordinate>> ConnectJBoxes(Coordinate a, Coordinate b, List<HashSet<Coordinate>> circuits)
{
var circuitToAddBTo = circuits.First(circuit => circuit.Contains(a));
var circuitToAddATo = circuits.First(circuit => circuit.Contains(b));
@@ -85,7 +85,7 @@ public class Day08 : IPuzzleSolver<long>
return circuits;
}
circuitToAddBTo.AddRange(circuitToAddATo);
circuitToAddBTo.UnionWith(circuitToAddATo);
circuits.Remove(circuitToAddATo);
return circuits;
}
@@ -108,7 +108,7 @@ public class Day08 : IPuzzleSolver<long>
return pairs;
}
private long MultiplyLargestCircuitLength(List<List<Coordinate>> circuits, int amountMultiply)
private long MultiplyLargestCircuitLength(List<HashSet<Coordinate>> circuits, int amountMultiply)
{
return circuits
.Select(circuit => (long)circuit.Count)