13/03/22 23:25:48.19
>>219 Io
f:=method(a,b,as:=a size;bs:=b size
if(as<1,return bs)
if(bs<1,return as)
t:=List clone setSize(as)map(List clone setSize(bs)map(0))
t atPut(0,t at(0)map(i,v,i))map(i,v,v atPut(0,i))
for(i,1,as-1,
for(j,1,bs-1,
t at(i)atPut(j,
list(t at(i-1)at(j)+1,
t at(i)at(j-1)+1,
t at(i-1)at(j-1)+if(a at(i)==b at(j),0,1)
)min
)
)
)
t last last
)
Io> f("abc","xayzbc")
==> 3