找出字符串中连续出现次数最多的子串
Posted ZDF0414
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找出字符串中连续出现次数最多的子串相关的知识,希望对你有一定的参考价值。
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);
以上是关于找出字符串中连续出现次数最多的子串的主要内容,如果未能解决你的问题,请参考以下文章
寻找一个字符串中连续出现次数最多的子串(面试宝典14.5节面试题1)
寻找一个字符串中连续出现次数最多的子串(面试宝典14.5节面试题1)