smol opti

This commit is contained in:
Pascal Phelipot 2023-12-01 21:20:26 +01:00
parent e19c2201f8
commit 224d5bb791
1 changed files with 18 additions and 14 deletions

View File

@ -21,26 +21,30 @@ fn line_to_calibration_part2(line: &str) -> (Option<u32>, Option<u32>) {
'search: for i in 0..line.len() { 'search: for i in 0..line.len() {
let (_, remaining_line) = line.split_at(i); let (_, remaining_line) = line.split_at(i);
for (j, word) in digits_words.iter().enumerate() { if let Some(char) = remaining_line.chars().next() && char.is_numeric() {
if remaining_line.starts_with(word) { a = char.to_digit(10);
a = Some(j as u32 + 1); break 'search;
break 'search; } else {
}else if let Some(char) = remaining_line.chars().next() && char.is_numeric() { for (j, word) in digits_words.iter().enumerate() {
a = char.to_digit(10); if remaining_line.starts_with(word) {
break 'search; a = Some(j as u32 + 1);
break 'search;
}
} }
} }
} }
'search: for i in 0..line.len() { 'search: for i in 0..line.len() {
let (remaining_line, _) = line.split_at(line.len() - i); let (remaining_line, _) = line.split_at(line.len() - i);
for (j, word) in digits_words.iter().enumerate() { if let Some(char) = remaining_line.chars().last() && char.is_numeric() {
if remaining_line.ends_with(word) { b = char.to_digit(10);
b = Some(j as u32 + 1); break 'search;
break 'search; } else {
}else if let Some(char) = remaining_line.chars().last() && char.is_numeric() { for (j, word) in digits_words.iter().enumerate() {
b = char.to_digit(10); if remaining_line.ends_with(word) {
break 'search; b = Some(j as u32 + 1);
break 'search;
}
} }
} }
} }