Skip to content

Commit 2b4e081

Browse files
committed
05
1 parent d88c70a commit 2b4e081

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

2025/Day05/Solution.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ public object PartOne(string input) {
1717
public object PartTwo(string input) {
1818
// Sort ranges by start so that potentionally overlapping ranges come after
1919
// each other. Then walk the list and make them disjoint:
20-
var ranges = Parse(input).ranges.OrderBy(x => x.start).ToList();
21-
for (var i = 0; i < ranges.Count - 1; i++) {
20+
var ranges = Parse(input).ranges.OrderBy(x => x.start).ToArray();
21+
for (var i = 0; i < ranges.Length - 1; i++) {
2222
if (ranges[i+1].start <= ranges[i].end) {
2323
var end = Math.Max(ranges[i].end, ranges[i + 1].end);
2424
ranges[i] = new Range(ranges[i].start, ranges[i+1].start - 1);
@@ -28,13 +28,13 @@ public object PartTwo(string input) {
2828
return ranges.Sum(range => range.end - range.start + 1);
2929
}
3030

31-
(List<Range> ranges, long[] nums) Parse(string input) {
31+
(Range[] ranges, long[] nums) Parse(string input) {
3232
var blocks = input.Split("\n\n");
3333
var ranges = (
3434
from line in blocks[0].Split("\n")
3535
let limits = line.Split("-").Select(long.Parse).ToArray()
3636
select new Range(limits[0], limits[1])
37-
).ToList();
37+
).ToArray();
3838

3939
var nums = blocks[1].Split("\n").Select(long.Parse).ToArray();
4040
return (ranges, nums);

0 commit comments

Comments
 (0)