Longest common subsequence: Difference between revisions

m
Line 536:
Based on algorithm from Wikipedia.
<lang Clojure>(defn longest [xs ys] (if (> (count xs) (count ys)) xs ys))
 
 
(def lcs
(memoize
(fn [[x & xs] [y & ys]]
(cond
(or (= x nil) (= y nil) ) nil
(= x y) (cons x (lcs xs ys))
:else (longest (lcs (cons x xs) ys) (lcs xs (cons y ys)))))))</lang>
(lcs xs (cons y ys)))))))</lang>
 
=={{header|CoffeeScript}}==
143

edits