这个题就是用KMP算法的next数组求最小重复子串长度;这与我刚刚做的2185是一个思路;
我也是应为理解那个题的解法才做这题;
但是我到现在还是没有对算法正确性有很好的认识;
姑且但结论记吧:
对于代码中i-next[i]代表了字符串最小前缀且满足能不但的复制得到
原字符串;len%(i-next[i])==0时代表字符串刚刚是子串的整数倍;
若len%(i-next[i])==0匹配时每一次移动的距离i-next[i]是相等的,若不等则只有最后一次不等;
这个题就是用KMP算法的next数组求最小重复子串长度;这与我刚刚做的2185是一个思路;
我也是应为理解那个题的解法才做这题;
但是我到现在还是没有对算法正确性有很好的认识;
姑且但结论记吧:
对于代码中i-next[i]代表了字符串最小前缀且满足能不但的复制得到
原字符串;len%(i-next[i])==0时代表字符串刚刚是子串的整数倍;
若len%(i-next[i])==0匹配时每一次移动的距离i-next[i]是相等的,若不等则只有最后一次不等;