ลินดอนคำเป็นสตริงที่เป็นอย่างเคร่งครัดlexicographically ที่มีขนาดเล็กกว่าใด ๆ ของการหมุนวงโคจรของมัน กำหนดสตริงไบนารีให้ตรวจสอบว่าเป็นคำ Lyndon เป็นไบต์น้อยที่สุดหรือไม่
ตัวอย่างเช่น001011
เป็นคำ Lyndon การหมุนของรายการด้านล่างนั้นได้มาจากการย้ายสัญลักษณ์แรกไปยังจุดสิ้นสุดซ้ำ ๆ
001011
010110
101100
011001
110010
100101
สตริงเหล่านี้มาก่อน lexicographically หรือเท่ากันแสดงถึงเลขฐานสองที่เล็กที่สุด
อย่างไรก็ตาม001001
ไม่ใช่คำ Lyndon เพราะหนึ่งในการหมุนของมันเหมือนกันกับตัวมันเอง
การป้อนข้อมูล:สตริงไบนารีไม่ว่างเปล่าหรือรายการของตัวเลขและ0
1
คุณอาจจะไม่ได้ใช้ตัวเลขเช่นการเป็นตัวแทนของ5
101
ผลลัพธ์:ค่า Truthy หรือ Falsey ที่สอดคล้องกันซึ่งระบุว่าสตริงนั้นเป็นคำ Lyndon หรือไม่
ไม่อนุญาตให้ใช้บิวด์อินเฉพาะสำหรับคำ Lyndon
กรณีทดสอบ:
คำ Lyndon ที่มีความยาวสูงสุด 6 คือ:
0
1
01
001
011
0001
0011
0111
00001
00011
00101
00111
01011
01111
000001
000011
000101
000111
001011
001101
001111
010111
011111
คำที่ไม่มีความยาวของลินดอนถึง 4 คือ:
00
10
11
000
010
100
101
110
111
0000
0010
0100
0101
0110
1000
1001
1010
1011
1100
1101
1110
1111
ลีดเดอร์บอร์ด:
x
ที่เท่ากับx
?