A367812 Lexicographically earliest sequence of distinct nonnegative terms such that the Levenshtein distance (Ld) between a(n) and a(n+1) is equal to 2.
0, 11, 2, 10, 3, 12, 4, 13, 5, 14, 6, 15, 7, 16, 8, 17, 9, 18, 20, 1, 22, 19, 21, 30, 23, 31, 24, 32, 25, 33, 26, 34, 27, 35, 28, 36, 29, 37, 40, 38, 41, 39, 42, 50, 43, 51, 44, 52, 45, 53, 46, 54, 47, 55, 48, 56, 49, 57, 60, 58, 61, 59, 62, 70, 63, 71, 64, 72, 65, 73, 66, 74, 67, 75, 68, 76, 69, 77, 80, 78
Offset: 1
Examples
a(1) = 0 and a(2) = 11 are separated by an Ld of 2 a(2) = 11 and a(3) = 2 are separated by an Ld of 2 a(3) = 2 and a(4) = 10 are separated by an Ld of 2 a(4) = 10 and a(5) = 3 are separated by an Ld of 2, etc.
Links
- Éric Angelini, More Levenshtein distances, Personal blog, December 2023.
Programs
-
Mathematica
a[1]=0;a[n_]:=a[n]=(k=1;While[MemberQ[Array[a,n-1],k]||EditDistance[ToString@a[n-1],ToString@k]!=2,k++];k);Array[a,80]
-
Python
from itertools import islice from Levenshtein import distance as Ld def agen(): # generator of terms an, aset, mink = 0, {0}, 1 while True: yield an s, k = str(an), mink while k in aset or Ld(s, str(k)) != 2: k += 1 an = k aset.add(k) while mink in aset: mink += 1 print(list(islice(agen(), 80))) # Michael S. Branicky, Dec 01 2023