動態規劃–求兩個字串的最長公共子串行長度
**:
#include
#include
#include
using
namespace std;
const
int maxn=
100;
const
int inf=int_max;
int memo[maxn]
[maxn]
;char s1[maxn]
;char s2[maxn]
;int
max_xulie
(int m,
int n)
int answer;
if(m==
0||n==0)
else
else
}memo[m]
[n]=answer;
//最後將結果記錄在備忘錄中。
return answer;
}int
main()
}//int max_answer=-inf;
/* for(int i=0;i<=m;i++)
}*/int max_answer=
max_xulie
(m,n)
;//直接呼叫m和n即可,因為這是自頂向下來執行的。
printf
("%d"
,max_answer);}
return0;
}
求兩個字串最長公共字串
package com.test 求兩個字串最長公共字串,演算法 兩個字串形成乙個矩陣,將兩個字元不匹配的位置標記為0,c i j 中兩個字元相匹配的位置標記為n,其中n c i 1 j 1 1,其中沿正對角線方向最長的序列為兩個字串的最長公共子串行 public class lcs public ...
java求兩個字串最長公共字串
思路 將str1的字元用兩個for迴圈用substring i,j 逐段截出,再與str2內字串比較,從而選出最長公共的字串,從而輸出字元內串 public class similarstring for int i 0 i str1.length 1 i system.out.println 兩字...
求兩個字串的最長公共子串
問題 有兩個字串str和str2,求出兩個字串中最長公共子串長度。比如 str acbcbcef,str2 abcbced,則str和str2的最長公共子串為bcbce,最長公共子串長度為5。演算法思路 1 把兩個字串分別以行和列組成乙個二維矩陣。2 比較二維矩陣中每個點對應行列字元中否相等,相等的...