Mercurial > hg > toys
view haskell/levenshtein/fuco.hs @ 23:d0d6e77cb496
haskell/levenshtein: add fuco.hs
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Fri, 17 Apr 2015 17:27:50 -0400 |
parents | |
children | af24a1a7194b |
line wrap: on
line source
nthRow n len = n : replicate (len - 1) 0 updateRow prev n letter word = reverse $ foldl (\l@(last:_) (j1,j,cl) -> minimum [1 + last, 1 + j, j1 + (if letter == cl then 0 else 1)] : l) [n] p where p = zip3 prev (tail prev) word leven a b = last $ foldl (\x(n,letter) -> updateRow x n letter b) [0..(length b)] (zip [0..] a) main = print $ leven (show [1..1000]) (show [2..1001])