Jabarkan lDistance (a:s') (b:t') = dari Jarak Levenshtein

lDistance s' t'         -- Jika karakter pertama mereka sama maka dapat diabaikan

1 + minimum             -- Untuk kasus lain, cari nilai minimum dari tiga aksi ini

[ lDistance (a:s') t' -- Karakter disisipkan  (b disisipkan)

, lDistance s' (b:t') -- Karakter dihapus     (a dihapus)

, lDistance s' t'     -- Karakter disubtitusi (a diganti dengan b)

]Implementasi ini sangat tidak efisien karena menghitung ulang jarak Levenshtein dari substring yang sama berkali-kali. Metode yang lebih efisien tidak mengulangi penghitungan jarak yang sama. Misalnya, dengan menyimpan jarak Levenshtein yang telah dihitung ke dalam suatu matriks  dimana  adalah jarak antara yang terakhir  karakter dari string s dan yang terakhir  karakter string t . Matriks mudah dibuat satu baris dalam satu waktu, dimulai dengan baris 0. Ketika seluruh tabel telah selesai dibangun, jarak yang diinginkan ada pada tabel di baris dan kolom terakhir, yang merepresentasikan jarak antara semua karakter di s dan semua karakter di t.