tło
Lyndon słowo jest niepusty ciąg znaków, który jest ściśle leksykograficznie mniejszy niż wszystkich innych swoich obrotów. Możliwe jest uwzględnienie dowolnego łańcucha unikatowo jako konkatenacji słów Lyndona, tak aby słowa te nie leksykograficznie nie zwiększały się; Twoim wyzwaniem jest zrobienie tego tak zwięźle, jak to możliwe.
Detale
Powinieneś zaimplementować funkcję lub program, który wylicza faktoryzację słowa Lyndona dowolnego drukowalnego ciągu ASCII, w celu uzyskania wynikowych podciągów jako tablicy lub strumienia. Znaki powinny być porównywane według ich punktów kodowych i dozwolone są wszystkie standardowe metody wejścia i wyjścia. Jak zwykle dla golfa kodowego , wygrywa najkrótszy program w bajtach.
Przypadki testowe
'' []
'C' ['C']
'aaaaa' ['a', 'a', 'a', 'a', 'a']
'K| ' ['K|', ' ']
'abaca' ['abac', 'a']
'9_-$' ['9_', '-', '$']
'P&O(;' ['P', '&O(;']
'xhya{Wd$' ['x', 'hy', 'a{', 'Wd', '$']
'j`M?LO!!Y' ['j', '`', 'M', '?LO', '!!Y']
'!9!TZ' ['!9!TZ']
'vMMe' ['v', 'MMe']
'b5A9A9<5{0' ['b', '5A9A9<5{', '0']
code-golf
string
combinatorics
użytkownik1502040
źródło
źródło
<=
ness. (Nie mam pojęcia, jak lepiej to wyrazić: |)Odpowiedzi:
Pyth,
1716 bajtów-1 bajt dzięki isaacg!
Wypróbuj online!
Wyjaśnienie
źródło
hf!ff>Y>YZUYT+./
uwzględnia pustą wielkość ciągu z 1 bajtem mniej.Galaretka , 18 bajtów
Wypróbuj online!
źródło
Pyth - 28 bajtów
Pakiet testowy .
źródło