diff --git a/day01/src/main.rs b/day01/src/main.rs
index f441756a9f352ee94015a5b8ff0084eb11b2b4f3..dd39b031bef5e2eb3a095fe7fda2f684c2c190fe 100644
--- a/day01/src/main.rs
+++ b/day01/src/main.rs
@@ -1,10 +1,5 @@
-use std::{collections::HashMap, fs};
-
 use anyhow::Result;
-
-fn reverse_string(text: &str) -> String {
-    text.chars().rev().collect()
-}
+use std::fs;
 
 fn remove_art(line: &str) -> (u32, u32) {
     let patterns = [
@@ -35,17 +30,13 @@ fn remove_art(line: &str) -> (u32, u32) {
     let b = patterns
         .iter()
         .filter_map(|v| {
-            if let Some(found) = v
-                .iter()
-                .filter_map(|v| reverse_string(&line).find(&reverse_string(v)))
-                .min()
-            {
+            if let Some(found) = v.iter().filter_map(|v| line.rfind(v)).max() {
                 Some((v[1].parse::<u32>().unwrap(), found))
             } else {
                 None
             }
         })
-        .min_by(|x, y| x.1.cmp(&y.1))
+        .max_by(|x, y| x.1.cmp(&y.1))
         .map(|v| v.0.to_owned())
         .unwrap();