找出字符串中连续出现次数最多的子串

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)

求字符串中出现次数最多的子串及其出现次数

字符串中连续出现最多的子串 &amp; 字符串中最长反复子串

poj 3693 Maximum repetition substring 重复次数最多的连续子串