Lý lịch
Một từ Lyndon là một chuỗi không trống, nó hoàn toàn nhỏ hơn về mặt từ vựng so với tất cả các phép quay khác của nó. Có thể tính bất kỳ chuỗi nào là duy nhất khi ghép các từ Lyndon sao cho các từ khóa này không tăng từ vựng; thách thức của bạn là làm điều này ngắn gọn nhất có thể.
Chi tiết
Bạn nên triển khai một hàm hoặc chương trình liệt kê hệ số từ Lyndon của bất kỳ chuỗi ASCII có thể in nào, theo thứ tự, xuất ra các chuỗi con kết quả dưới dạng một mảng hoặc một luồng nào đó. Các ký tự phải được so sánh bởi các điểm mã của chúng và tất cả các phương thức nhập và xuất chuẩn được cho phép. Như thường lệ đối với môn đánh gôn , chương trình ngắn nhất tính bằng byte sẽ thắng.
Các trường hợp thử nghiệm
'' []
'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']
<=
Ness. (Tôi không biết làm thế nào để diễn đạt điều này tốt hơn: |)