Realm

v1

gno.land/r/moul/x/daily/levenshteindemo/v1

Render

Levenshtein edit distance

Demo of the p/moul/x/daily/levenshtein library. The Levenshtein distance between two strings is the minimum number of single-character edits — insertions, deletions, or substitutions — needed to turn one string into the other. The library implements the classic dynamic-programming algorithm (à la Go's agext/levenshtein) fully rune-aware and on-chain.

Try it

Append two words as /<a>/<b>:

The classic example

kittensitting = 3:

  1. kittensitten (substitute ks)
  2. sittensittin (substitute ei)
  3. sittinsitting (insert g at the end)

API

  • Distance(a, b string) int — the edit distance.
  • Matrix(a, b string) [][]int — the full DP matrix.
  • Similarity(a, b string) int — a 0..100 similarity percentage.

Source (qfile)

README.md
gnomod.toml
levenshteindemo.gno