算法思想 求字符串str1,str2的最长公共子串的长度。
定义二元函数函数f(m,n):分别以str1[m],str2[n]结尾的连续公共子串的长度 而对于f(m+1,n+1) 有以下两种情况
1.str1[m+1] != str2[n+1],则有f(m+1,n+1) =0 2.str1[m+1] ==
str2[n+1],则有f(m+1,n+1) = f(m,n) + 1 另外f(0,j) = 0(j>=0) f(j,0) =
0 (j>=0) 按照上面这个公式,我们用容易写出这个算法的实现 算法实现 1 int commstr(char *str1,
char *str2) 2 /* 返回str1,str2的最长公共之串长度*/ 3 { 4 int
len1=strlen(str1),len2=strlen(str2),row,col,max=0; 5 int ...
阅读全文>>