I was trying to solve the problem http://www.spoj.com/problems/MINMOVE/ but unfortunately couldn't. My solution idea was:
1.First of all I checked whether all the character is same or not. If it is same then the answer is 0. Example: aaa answer should be 0.
2.Otherwise, I have concatenate the string at the back of the string and then added a "$" at last.
3.Then I build the suffix array (n*log(n)).
4.At last I traversed the suffix array whenever I got a value in the suffix array less then the string.size()/2 then I printed the value.
Now, I have no idea what to do.Any help or suggestions would be appreciated.
Good day to you,
does it necessary have to be your "approach"? I would rather recomment looking onto Booth's Algorithm algorithm, which could find the minimal rotation of string (and is pretty short to implement).
Hope it will help.
Good Luck & Have Nice Day ^_^
Yes, I think it is necessary because then I will have the opportunity for rectifying my approach. But thank you. After solving this problem in my way , I will try to learn your suggested algorithm too.