演算法 計算最長的公共連續子串的長度(C 原始碼)

2021-10-18 12:17:50 字數 841 閱讀 2762

給定兩個字串(可能包含空格),請設計演算法找出其中最長的公共連續子串的長度,例如,字串「abcde」和「abgde」的最長公共連續字串為「ab」,其長度為2。

定義乙個getsame函式,內包含三個引數,三個字元指標,第乙個為字串「abcde」,第二個為字串「abgde」,第三個為兩字串的共有部分,定義乙個count陣列,全部置為零,從後往前比較字元是否相等,相等了往前加一,與maxlen比較,輸出最大的聯絡子串,並記錄下標,輸出。

最長的公共連續子串

兩個字串 可能包含空格 找出其中最長的公共連續子串,並輸出其長度。2.1 動態規劃 二維 建立乙個二維陣列 dp n m dp n m dp n m 其中 dp i j dp i j dp i j 表示取到 s1 i s1 i s1 i 和取到 s2 j s2 j s2 j 時的最大連續子串長度。如...

最長公共子串與最長連續子串演算法

利用dp思想 最長公共子串中result i j 存放str1前i個與result j 個的最長公共子串,當str1 i 1 str2 j 1 時,str1前i 1與str2前j 1個即result i 1 j 1 result i j 1,否則就是str1前i個與str2前j 1個的公共子串與st...

最長公共連續子串和最長連續公共子串行

用二維陣列c i j 記錄串x1 x2 x i x1x2 xi與y 1y 2 y j y1y2 yj 的lcs長度,則可得到狀態轉移方程c i,j 0c i 1 j 1 1max c i,j 1 c i 1,j i 0 orj 0i,j 0a ndxi y j i,j 0a ndxi y j pub...