get]s go]at get -> go delete: ge -> go , delete t ge]t -> go] (i, j) -> (i - 1, j) cost = 1 change: ge -> g , change t to o ge]t -> g]o (i, j) -> (i - 1, j - 1) cost = 1 insert: get -> g , add o get] -> g]o (i, j) -> (i, j - 1) cost = 1 change': get -> goat ge]t -> goa]t (i, j) -> (i - 1, j - 1) cost = 0 for i := 1, ..., m: for j := 1, ..., n: d[i][j] := min (d[i - 1][j ] + 1, d[i - 1][j - 1] + (s[i] != t[j]), d[i ][j - 1] + 1)