首页 > 其他 > 详细

递归-求字符串的子序列

时间:2017-02-19 18:39:09      阅读:442      评论:0      收藏:0      [点我收藏+]

概念:

// 字符串 abcdef
// 字符串的子串:abcde, abc, ab, a, bcdef, bcde ......
// 字符串的子序列:acd, adf, acdf, bef, bf ......

 

代码:

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

// 字符串 abcdef 
// 字符串的子串:abcde, abc, ab, a, bcdef, bcde ......
// 字符串的子序列:acd, adf, acdf, bef, bf ......

int F(string _mainstr, string _substr)
{
	if(_mainstr.length() == 0 || _substr.length() == 0)
		return 0;
	
	if(_mainstr.at(0) == _substr.at(0))
		return F(_mainstr.substr(1), _substr.substr(1)) + 1;
	else
		return max(F(_mainstr, _substr.substr(1)), F(_mainstr.substr(1), _substr.substr(1)));
}

int main()
{
	string mainstr = "abc";
	string substr = "xbdcn";
	
	//cout << mainstr.substr(1, mainstr.length()); 
	
	cout << F(mainstr, substr);
	
	return 0;
}

  

递归-求字符串的子序列

原文:http://www.cnblogs.com/hfultrastrong/p/6416388.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!