int n = str2.length() ; // 表示在较短字符串str1以第i个字符结尾,str2中以第j个字符结尾时的公共子串长度。 int[][] dp = new int[m+1][n+1]; // 匹配字符,并记录最大值的str1的结尾下标 int max = 0; int index = 0; // 从左向右递推,i为短字符串str1的结尾索引,j为str2的结尾...
方法一C++: #include <iostream>#include<vector>#include<string>#include<algorithm>usingnamespacestd;stringfindLCS(strings1,strings2) {stringresult ="";for(inti =0; i < s1.size(); i++) {stringtemp ="";for(intj =0; j < s2.size(); j++) {intk =i;while(s1[k] ==s2[j]) { te...
查找两个字符串a,b中的最长公共子串 http://www.nowcoder.com/questionTerminal/181a1a71c7574266ad07f9739f791506纯C 啊,我终于真正学会了动态规划 #include <stdlib.h> #include <stdio.h> #include <string.h> #define MAX 1500 int main() { int dp[MAX][MAX] = {0}; char str1[MAX] = {'...