login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A366493
Lexicographically earliest sequence such that each subsequence enclosed by two equal terms is distinct.
8
1, 1, 2, 1, 2, 2, 1, 3, 1, 2, 3, 1, 2, 4, 1, 2, 3, 2, 1, 3, 2, 1, 4, 1, 2, 3, 3, 1, 2, 4, 2, 1, 3, 4, 1, 2, 3, 4, 1, 2, 4, 3, 1, 2, 4, 3, 2, 1, 4, 2, 1, 3, 5, 1, 2, 3, 4, 2, 1, 3, 5, 2, 1, 3, 4, 2, 1, 4, 3, 1, 2, 5, 1, 2, 3, 4, 3, 1, 2, 5, 2, 1, 3, 4, 4, 1, 2, 3, 5, 1, 2, 4, 3, 4, 1, 2, 5, 3, 1, 2, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 5
OFFSET
1,3
COMMENTS
A new value is always followed by 1.
LINKS
Samuel Harkness, MATLAB program
EXAMPLE
a(2)=1 because the subsequence (1,1) has not occurred before.
a(8)=3 because every smaller number would form a subsequence that has occurred already. a(8) cannot be 1 because this would make the subsequence (1,1), which was seen before at i=1,2. a(8) cannot be 2 because then we would have the subsequence (2,1,2) for a second time (first at i=3-5): 1,1,2,1,2,2,1,2
PROG
(MATLAB) See Links section.
(Python)
from itertools import islice
def agen(): # generator of terms
m, a = set(), []
while True:
an, allnew = 0, False
while not allnew:
allnew, an, mn = True, an+1, set()
for i in range(len(a)):
if an == a[i]:
t = tuple(a[i:]+[an])
if t in m or t in mn: allnew = False; break
mn.add(t)
yield an; a.append(an); m |= mn
print(list(islice(agen(), 111))) # Michael S. Branicky, Dec 06 2024
CROSSREFS
Cf. A330896.
Sequence in context: A095686 A105258 A329173 * A378776 A352998 A339351
KEYWORD
nonn,easy
AUTHOR
Neal Gersh Tolunsky, Oct 10 2023
STATUS
approved