PHP實現求兩個字串最長公共子串的方法示例

2022-10-06 06:36:12 字數 711 閱讀 1225

前面一篇php實現求解最長公共子串問題的方法是基於j**a改進而來,這裡再來看另一種公共子串演算法。

**如下:

<?php $a = 'abceee12345309878';

$b = 'abceeew2345i09878fsfsfsfabceeewsfsdfsfsabceeew';

$c = array();

$lenht程式設計客棧1 = strlen($a);

$lenth2 = strlen(www.cppcns.com$b);

$starttime = microtime(true);

for ($i=0;$i=0 && $j-1>=0)?$c[$i-1][$j-1]:0;

$n = ($a[$i] == $b[$j]) ? $n+1:0;

drxutipaw $c[$i][$j] = $n;

}}forea ($c as $key=>$val)

}}ksort($cdstr);

$endtime = microtime(true);

echo "totle time is " . ($endtime - $starttime) . " s"."

";print_r(end($cdstr));

exit;

?>

執行結果:

totle time is 0.0012800693512 s

abceee

求兩個字串最長公共字串

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 比較二維矩陣中每個點對應行列字元中否相等,相等的...