pair<int, string> FindSub(const string& str)
{
vector<string>v;
int count = 1;
int maxcount = 1;
string ret;
int len = str.length();
int i = 0;
for (int i = 0; i < len; i++)
{
v.push_back(str.substr(i, len - i));
}
for (i = 0; i < len; i++)
{
for (int j = i + 1; j < len; j++)
{
count = 1;
if (v[i].substr(0, j - i) == v[j].substr(0, j - i))
{
count++;
for (int k = j + (j - i); k < len; k++)
{
if (v[i].substr(0, j - i) == v[k].substr(0, j - i))
count++;
else
break;
}
}
if (count>maxcount)
{
maxcount = count;
ret = v[i].substr(0, j - i);
}
}
}
return make_pair(maxcount, ret);
}
找出字符串中连续出现次数最多的子串
最新推荐文章于 2022-07-12 15:33:27 发布