我需要编写一个函数,返回输入字符串可能不同的循环移位数。
你能不能给我一些提示,我应该从哪里开始,以便创建一个有效的(在时间复杂度方面)算法?我应该从“预处理”字符串开始,并创建一些数据结构来帮助计算以后的变化吗?
答案 0 :(得分:1)
只需将字符串连续两次存储在某处,例如:
"this_is_my_longish_stringthis_is_my_longish_string"
^ ^
| |
|<-string length apart->|
然后只需沿着该双字符串从第一个字符串“string length apart”的开头到结尾移动两个索引,每次都返回临时字符串。或者,您可以自己处理作业问题。