public AdapterArray(string[] adapterStrings) { AdapterInts = adapterStrings.Select(int.Parse).ToList(); var wallOutlet = 0; WallOutlet = wallOutlet; AdapterInts.Add(wallOutlet); var deviceJoltage = AdapterInts.Max() + 3; DeviceJoltage = deviceJoltage; AdapterInts.Add(deviceJoltage); AdapterInts = AdapterInts.OrderBy(num => num).ToList(); }
public object GetNumberOfArrangements() { var paths = AdapterInts.ToDictionary(i => i, i => 0L); paths[0] = 1; foreach (var adapter in AdapterInts.Skip(1)) { for (int i = 1; i < 4; i++) { if (paths.ContainsKey(adapter - i)) { paths[adapter] += paths[adapter - i]; } } } return(paths[AdapterInts[^ 1]]);