Considérons une chaîne de longueur n (1 < = n < = 100000). Déterminer sa rotation lexicographique minimale. Par exemple, les rotations de la chaîne « alabala » sont:Rotation minimale à l'aide de Suffix array-- Revisited
alabala
labalaa
abalaal
balaala
alaalab
laalaba
aalabal
and the smallest among them is “aalabal”.
Cette question a déjà été posée sur la pile, mais je suis re lui demandant que pas de solution claire est disponible. Jusqu'à présent, j'ai fait des progrès suivants.
1. Prenez S, avec concat inverse (S) .. Soit P = S + marche arrière (S)
tableau suffixe 2.construct de chaîne ci-dessus P
Maintenant, ma question est de savoir si je prends la première chaîne en suffixe tableau de size> strlen(S)
puis le préfixe de la taille strlen(S)
de cette chaîne sera la rotation minimale de la chaîne donnée S.
Ma conclusion est-elle correcte?