commit 280c22237f16ec856fa2dec1ce39874b75da2809
parent e5ccbb498183c366a452528746fce5b96d351569
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Thu, 30 Mar 2023 19:30:58 -0700
cleanup
Diffstat:
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/lechatphp/mod.rs b/src/lechatphp/mod.rs
@@ -202,9 +202,9 @@ fn solve_difficulty3(img: &DynamicImage) -> Result<String, CaptchaErr> {
let mut answer = String::new();
let mut remaining: HashSet<Letter> = letters_map.values().cloned().collect();
let mut letter = starting;
- remaining.remove(&letter);
- answer.push(letter.character);
- for _ in 0..NB_CHARS-1 {
+ for _ in 0..NB_CHARS {
+ remaining.remove(&letter);
+ answer.push(letter.character);
let mut dest_count = HashMap::<Letter, usize>::new();
for dest in remaining.iter() {
let p1 = letter.center();
@@ -214,10 +214,9 @@ fn solve_difficulty3(img: &DynamicImage) -> Result<String, CaptchaErr> {
.count();
dest_count.insert(dest.clone(), red);
}
- let (dest_max, _) = dest_count.iter().max_by(|a, b| a.1.cmp(b.1)).unwrap();
- letter = dest_max.clone();
- remaining.remove(&letter);
- answer.push(letter.character);
+ if let Some((dest_max, _)) = dest_count.iter().max_by(|a, b| a.1.cmp(b.1)) {
+ letter = dest_max.clone();
+ }
}
Ok(answer)
}