|
@@ -19,10 +19,7 @@ pub fn solve_part2() -> Result<u32> {
|
19
|
19
|
fn read_license(filename: &str) -> Result<Vec<u32>> {
|
20
|
20
|
let license = fs::read_to_string(filename)?;
|
21
|
21
|
let license = license.trim();
|
22
|
|
- Ok(license
|
23
|
|
- .split(' ')
|
24
|
|
- .map(|num| num.parse().unwrap())
|
25
|
|
- .collect())
|
|
22
|
+ Ok(license.split(' ').map(|num| num.parse().unwrap()).collect())
|
26
|
23
|
}
|
27
|
24
|
|
28
|
25
|
fn sum_metadata(license: &[u32], mut index: usize, mut sum_acc: u32) -> (u32, usize) {
|
|
@@ -63,7 +60,6 @@ fn sum_metadata_with_indices(license: &[u32], mut index: usize) -> (u32, usize)
|
63
|
60
|
.map(|num| *child_sums.get(*num as usize - 1).unwrap_or(&0))
|
64
|
61
|
.sum();
|
65
|
62
|
index += num_metadata as usize;
|
66
|
|
-
|
67
|
63
|
}
|
68
|
64
|
} else if num_metadata != 0 {
|
69
|
65
|
sum = license[index..index + num_metadata as usize].iter().sum();
|