Lyndon słowo to ciąg znaków, który jest ściśle leksykograficznie mniejszy niż którykolwiek z jego cyklicznych obrotów. Biorąc pod uwagę ciąg binarny, określ, czy jest to słowo Lyndona w jak najmniejszej liczbie bajtów.
Na przykład 001011jest słowem Lyndon. Jego obroty, wymienione poniżej, są uzyskiwane przez wielokrotne przesuwanie pierwszego symbolu do końca.
001011
010110
101100
011001
110010
100101
Spośród nich oryginalny ciąg znaków jest najpierw leksykograficznie, lub równoważnie, reprezentuje najmniejszą liczbę binarną.
Jednak 001001nie jest słowem Lyndona, ponieważ jedna z jego rotacji jest taka sama jak sama, co wiąże je z najwcześniejszym leksykograficznie.
Dane wejściowe: niepusty ciąg binarny lub lista cyfr 0i 1. Być może nie używać liczb, jak 5do reprezentowania 101.
Dane wyjściowe: spójna wartość Prawda lub Falsey, która mówi, czy ciąg jest słowem Lyndona.
Wbudowane specjalnie dla słów Lyndon nie są dozwolone.
Przypadki testowe:
Słowa Lyndon o długości do 6 to:
0
1
01
001
011
0001
0011
0111
00001
00011
00101
00111
01011
01111
000001
000011
000101
000111
001011
001101
001111
010111
011111
Nie-Lyndonskie słowa o długości do 4 to:
00
10
11
000
010
100
101
110
111
0000
0010
0100
0101
0110
1000
1001
1010
1011
1100
1101
1110
1111
Tabela liderów:
x, które są równex?