问题

找到一个字符串的所有循环位移中最小的那个。

方法

双指针,假设当前两个串分别从 开始,暴力找出它们第一个不同的位置,设它到每个串开头的距离是

  • 如果 ,说明当前找到的这个串 没用。并且 之间的点也不能作为起点;
  • 如果 ,说明当前找到的串 没用。并且 之间的点也不能作为起点;
  • 没有第三种可能。

所以, 移动的总距离都不超过 ,时间复杂度是

相关题目

LC1163 - 按字典序排在最后的子串