演算法題目 找出兩個字串的最長公共子串

2021-10-02 19:27:19 字數 498 閱讀 9937

int findmaxsubstringlen(string input_1, string input_2)}}

return 0;

}

思路:讓小的字串以及其子串和大的字串比較是否被包含。

例如:「abcd」, 「123456789a」比較,去遍歷「abcdefg」

第一輪 「abcd」 是否包含在 「123456789cd」中 返回false

第二輪 「abc」 是否包含在 「123456789cd」中 返回false

第三輪 「bcd」 是否包含在 「123456789cd」中 返回false

第四輪 「ab」 是否包含在 「123456789cd」中 返回false

第五輪 「bc」 是否包含在 「123456789cd」中 返回false

第六輪 「cd」 是否包含在 「123456789cd」中 返回true

結果即「cd」的長度 2

求兩個字串最長公共字串

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 兩字...

兩個字串的最長公共子串行

解題分析 設兩個序列x y 用lsc x,y 表示最長公共子串行。1.如果xn yn。則該元素一定存在於公共子串行中,所以可化為尋求子問題lsc x 1,y 1 用公式可表示為lsc x,y lsc x 1,y 1 1。2.如果xn yn。則該元素不存在於公共子串行中,所以轉而去尋求兩個子問題,即l...