Skip to content

Instantly share code, notes, and snippets.

@jamesoly
jamesoly / joly-4clojure-solution101.clj
Created August 31, 2011 13:04
joly solution for 4clojure #101
;; joly's solution to Levenshtein Distance
;; https://4clojure.com/problem/101
;; Slow, but finishes fast enough for test problems.
;; None of the self-memoized versions worked without
;; using def, but memoizing this version gave a
;; speedup from 2500 msec -> 10 msec.
(fn lev [s t]
(cond
@jamesoly
jamesoly / joly-4clojure-solution101.clj
Created August 31, 2011 15:47
Memoized version of 4clojure problem 101
(let [mem (atom {})]
(fn lev [s t]
(cond
(empty? s) (count t)
(empty? t) (count s)
:else (if-let [e (find @mem [s t])]
(val e)
(let [ns (rest s)
nt (rest t)
ret (if (= (first s) (first t))