动态规划:最长连续字串

/*
	使用动态规划求解最长连续字串 
	如"abcgooglecba"与"cbagoogleabc"的最长连续字串为google 
*/

#include 
#include 
#include 

#define MAXLEN 100

/*
	这里没有编写错误处理(字串为空,空间不足等)
	可以根据需求来进行处理,并返回相应的参数 
*/
int lcstr(const char *s1,const char *s2,char *sub)
{
	/*
		cLen记录当前最大长度
		index记录当前最大长度时字串在s1中的最大索引 
		这两个数据可以确定字串 
	*/ 
	int m,n,i,j,cLen=0,index=0;
	m=strlen(s1);
	n=strlen(s2);
	/*
		Xi={x1,x2,x3..,xi}
		Yj={y1,y2,y3..,yj}
		c[i][j]用来存储Xi和Yj的最长连续字串的长度 
	*/
	char c[MAXLEN][MAXLEN];
	memset(c,0,sizeof(c));
	
	for(i=0;i

你可能感兴趣的:(算法)