博兴县建设局网站,太原企业网站搭建,免费做ppt的网站有哪些,什么网站可以制作套餐题目描述 求串的最长重复子串长度#xff08;子串不重叠#xff09;。例如#xff1a;abcaefabcabc的最长重复子串是串abca#xff0c;长度为4。 输入 测试次数t t个测试串 输入样例#xff1a; 3 abcaefabcabc szu0123szu szuabcefg 输出 对每个测试串#xff0c;输出最…题目描述 求串的最长重复子串长度子串不重叠。例如abcaefabcabc的最长重复子串是串abca长度为4。 输入 测试次数t t个测试串 输入样例 3 abcaefabcabc szu0123szu szuabcefg 输出 对每个测试串输出最长重复子串长度若没有重复子串输出-1. 输出样例 4 3 -1 思路 代码
#include iostream
using namespace std;int getNextMax(string s){s ;int len s.length(), i1, j0;int next[len1];next[1] 0;while(i len){if(j 0 || s[i-1] s[j-1]){i;j;next[i] j;}else{j next[j];}}int maxNum1;for(int i 1; i len; i){if(next[i] maxNum){maxNum next[i];}}if(maxNum 1){return -1;}else{return maxNum-1;}
}int main()
{int t;string s;cin t;while(t--){cin s;int res getNextMax(s);cout res endl;}return 0;
}