From f4b71c8b383f0a486fbacb3fcbeb386c1c30b2a2 Mon Sep 17 00:00:00 2001 From: Tyler Wardhaugh Date: Sat, 10 Oct 2020 23:15:51 -0700 Subject: Ch81/Task 1 (Clojure): optimize algorithm Only check base strings whose length is evenly divisible by the target string's length. Other lengths cannot be correct, so we don't need to check them. --- challenge-081/tyler-wardhaugh/clojure/src/tw/weekly/c81/t1.clj | 1 + 1 file changed, 1 insertion(+) diff --git a/challenge-081/tyler-wardhaugh/clojure/src/tw/weekly/c81/t1.clj b/challenge-081/tyler-wardhaugh/clojure/src/tw/weekly/c81/t1.clj index 13a382f7c6..d170171616 100644 --- a/challenge-081/tyler-wardhaugh/clojure/src/tw/weekly/c81/t1.clj +++ b/challenge-081/tyler-wardhaugh/clojure/src/tw/weekly/c81/t1.clj @@ -15,6 +15,7 @@ is-substring (fn [s] (= large (reduce str (-> (quot large-len (count s)) (repeat s)))))] (->> (reductions str "" small) (drop 1) + (filter #(zero? (rem large-len (count %)))) (filter is-substring)))) (defn -main -- cgit