PHP實(shí)現(xiàn)求兩個字符串最長公共子串的方法示例
本文實(shí)例講述了PHP實(shí)現(xiàn)求兩個字符串最長公共子串的方法。分享給大家供大家參考,具體如下:
前面一篇PHP實(shí)現(xiàn)求解最長公共子串問題的方法是基于java改進(jìn)而來,這里再來看另一種公共子串算法。
代碼如下:
<?php $a = 'abceee12345309878'; $b = 'abceeew2345i09878fsfsfsfabceeewsfsdfsfsabceeew'; $c = array(); $lenht1 = strlen($a); $lenth2 = strlen($b); $startTime = microtime(true); for ($i=0;$i<$lenht1;$i++) { for ($j=0;$j<$lenth2;$j++) { $n = ($i-1>=0 && $j-1>=0)?$c[$i-1][$j-1]:0; $n = ($a[$i] == $b[$j]) ? $n+1:0; $c[$i][$j] = $n; } } foreach ($c as $key=>$val) { $max = max($val); foreach ($val as $key1 =>$val1) { if ($val1 == $max && $max>0) { $cdStr[$max] = substr($b,$key1-$max+1,$max); } } } ksort($cdStr); $endTime = microtime(true); echo "Totle time is " . ($endTime - $startTime) . " s"."<br/>"; print_r(end($cdStr)); exit; ?>
運(yùn)行結(jié)果:
Totle time is 0.0012800693512 s abceee
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
- php獲取字符串前幾位的實(shí)例(substr返回字符串的子串用法)
- PHP字符串中插入子字符串方法總結(jié)
- php實(shí)現(xiàn)指定字符串中查找子字符串的方法
- php根據(jù)指定位置和長度獲得子字符串的方法
- PHP中substr_count()函數(shù)獲取子字符串出現(xiàn)次數(shù)的方法
- PHP中比較兩個字符串找出第一個不同字符位置例子
- php刪除字符串末尾子字符,刪除開始字符,刪除兩端字符(實(shí)現(xiàn)代碼)
- php函數(shù)之子字符串替換 str_replace
- php實(shí)現(xiàn)子字符串位置相互對調(diào)互換的方法
- php使用strpos判斷字符串中數(shù)字類型子字符串出錯的解決方法
- php中有關(guān)字符串的4個函數(shù)substr、strrchr、strstr、ereg介紹和使用例子
- PHP字符串中抽取子串操作實(shí)例分析
相關(guān)文章
PHP數(shù)組及條件,循環(huán)語句學(xué)習(xí)
PHP數(shù)組及條件,循環(huán)語句學(xué)習(xí),需要的朋友可以參考下2012-11-11php實(shí)現(xiàn)的網(wǎng)絡(luò)相冊圖片防盜鏈完美破解方法
這篇文章主要介紹了php實(shí)現(xiàn)的網(wǎng)絡(luò)相冊圖片防盜鏈完美破解方法,可實(shí)現(xiàn)針對設(shè)置了防盜鏈網(wǎng)絡(luò)相冊圖片的抓取功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-07-07利用PHP擴(kuò)展Xhprof分析項(xiàng)目性能實(shí)踐教程
XHProf是Facebook開發(fā)的性能調(diào)試工具,能幫助直觀的統(tǒng)計(jì)顯示PHP程序執(zhí)行中各方法函數(shù)調(diào)用次數(shù)和消耗時間,以方便我們排查性能瓶頸并進(jìn)行調(diào)優(yōu)。下面這篇文章主要給大家介紹了關(guān)于利用PHP擴(kuò)展Xhprof分析項(xiàng)目性能實(shí)踐的相關(guān)資料,需要的朋友可以參考下2018-09-09php中array_column函數(shù)簡單實(shí)現(xiàn)方法
這篇文章主要介紹了php中array_column函數(shù)簡單實(shí)現(xiàn)方法,結(jié)合實(shí)例形式簡單分析了array_column函數(shù)的功能,并針對低版本的情況給出了array_column函數(shù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-07-07php計(jì)劃任務(wù)之驗(yàn)證是否有多個進(jìn)程調(diào)用同一個job的方法
這篇文章主要介紹了php計(jì)劃任務(wù)之驗(yàn)證是否有多個進(jìn)程調(diào)用同一個job的方法,涉及php針對計(jì)劃任務(wù)中進(jìn)程調(diào)用的相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-12-12php cli模式學(xué)習(xí)(PHP命令行模式)
之前知道php—cli模式是一種類似shell命令式的執(zhí)行php程序,不過一直以為這個是一種落后的方式,應(yīng)該沒有什么意義,因?yàn)閺臎]有遇到過使用這個cli模式編程的。不過今天遇到了使用cli模式的應(yīng)用2013-06-06PHP中對緩沖區(qū)的控制實(shí)現(xiàn)代碼
在PHP 4.0里面加入了緩沖區(qū)控制的幾個函數(shù),使用這些函數(shù)可以幫我們解決很多問題2013-09-09