smol opti
This commit is contained in:
parent
e19c2201f8
commit
224d5bb791
|
|
@ -21,26 +21,30 @@ fn line_to_calibration_part2(line: &str) -> (Option<u32>, Option<u32>) {
|
|||
|
||||
'search: for i in 0..line.len() {
|
||||
let (_, remaining_line) = line.split_at(i);
|
||||
for (j, word) in digits_words.iter().enumerate() {
|
||||
if remaining_line.starts_with(word) {
|
||||
a = Some(j as u32 + 1);
|
||||
break 'search;
|
||||
}else if let Some(char) = remaining_line.chars().next() && char.is_numeric() {
|
||||
a = char.to_digit(10);
|
||||
break 'search;
|
||||
if let Some(char) = remaining_line.chars().next() && char.is_numeric() {
|
||||
a = char.to_digit(10);
|
||||
break 'search;
|
||||
} else {
|
||||
for (j, word) in digits_words.iter().enumerate() {
|
||||
if remaining_line.starts_with(word) {
|
||||
a = Some(j as u32 + 1);
|
||||
break 'search;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
'search: for i in 0..line.len() {
|
||||
let (remaining_line, _) = line.split_at(line.len() - i);
|
||||
for (j, word) in digits_words.iter().enumerate() {
|
||||
if remaining_line.ends_with(word) {
|
||||
b = Some(j as u32 + 1);
|
||||
break 'search;
|
||||
}else if let Some(char) = remaining_line.chars().last() && char.is_numeric() {
|
||||
b = char.to_digit(10);
|
||||
break 'search;
|
||||
if let Some(char) = remaining_line.chars().last() && char.is_numeric() {
|
||||
b = char.to_digit(10);
|
||||
break 'search;
|
||||
} else {
|
||||
for (j, word) in digits_words.iter().enumerate() {
|
||||
if remaining_line.ends_with(word) {
|
||||
b = Some(j as u32 + 1);
|
||||
break 'search;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue