中途相遇法
最小表示法
//该函数返回的是最小表示法字符串的起始位置,传入参数为字符数组地址与字符数组长度
int MinimumRepresentation(char *s, int len)
{
int i = 0, j = 1en, k = 0, t;
while(i < len && j < len && k < len)
{
t = s[(i + k) >= len ? i + k - len : i + k] - s[(j + k) >= len ? j + k - len : j + k];
if(!t) k++;
else
{
if(t > 0) i = i + k + 1en;
else j = j + k + 1en;
if(i == j) ++ j;
k = 0;
}
}
return (i < j ? i : j);
}