2018/2/24 每日一学 字符串最小表示法

Posted alex-leaves

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018/2/24 每日一学 字符串最小表示法相关的知识,希望对你有一定的参考价值。

非常简单,直接上代码:

int minimalRepresentation()
{
    int n = strlen(str);
    int i = 0,j = 1, k = 0;
    while(i<n && j<n && k<n)
    {
        int t = str[(i+k)%n] - str[(j+k)%n] ;
        if(t == 0)
            k++;
        else
        {
            if(t>0)
                i+=k+1;
            else 
                j+=k+1;
            if(i==j)
                j++;
            k = 0;
        }
    }
    return i < j ? i : j;
}

 

以上是关于2018/2/24 每日一学 字符串最小表示法的主要内容,如果未能解决你的问题,请参考以下文章

2018/2/17 每日一学 RMQ

2018/2/20 每日一学 trie树

每日一学60种非金属材料性能测试方法(中)

每日一学--深究字节与字符

每日一学--bitbyte位字节汉字字符

2018/2/21 每日一学 KMP算法