PHP实现求两个字符串最长公共子串的方法示例

 更新时间:2017年11月17日 10:23:33   作者:yujicun   我要评论
这篇文章主要介绍了PHP实现求两个字符串最长公共子串的方法,涉及php字符串与数组的遍历、运算、判断等相关操作技巧,需要的朋友可以参考下

本文实例讲述了PHP实现求两个字符串最长公共子串的方法。分享给大家供大家参考,具体如下:

前面一篇PHP实现求解最长公共子串问题的方法是基于java改进而来,这里再来看另一种公共子串算法。

代码如下:

<?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;
?>

运行结果:

Totle time is 0.0012800693512 s
abceee

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • php 3行代码的分页算法(求起始页和结束页)

    php 3行代码的分页算法(求起始页和结束页)

    涉及到分页时, 除非只显示上一页/下一页, 否则需要计算起始页和结束页. 看过很多代码都是用大量的if-else来实现, 代码量大, 又不简洁. 现在提供一种只需要3行代码的算法.
    2009-10-10
  • php数据类型判断函数有哪些

    php数据类型判断函数有哪些

    php数据类型判断时需要注意的是is_numeric() 检测变量是否为数字或数字字符串有别 is_integer()
    2013-09-09
  • php图像处理函数大全(推荐收藏)

    php图像处理函数大全(推荐收藏)

    php图片处理代码分享,包括缩放、剪裁、缩放、翻转、旋转、透明、锐化等。需要的朋友可以参考下
    2013-07-07
  • PHP时间类完整实例(非常实用)

    PHP时间类完整实例(非常实用)

    这篇文章主要介绍了PHP时间类完整实例,涉及PHP针对日期、时间、星期等的获取与比较等操作技巧,非常简单实用,需要的朋友可以参考下
    2015-12-12
  • PHP实现获取文件后缀名的几种常用方法

    PHP实现获取文件后缀名的几种常用方法

    这篇文章主要介绍了PHP实现获取文件后缀名的几种常用方法,通过三种不同的方法实例分析了php获取文件后缀名的实现技巧,分别通过字符串、文件属性及数组等方式实现这一功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • php 智能404跳转代码,适合换域名没改变目录的网站

    php 智能404跳转代码,适合换域名没改变目录的网站

    适合于换域名,但是目录没有改变的网站.也可以用做301定向.转自于落伍,收集过来.怕以后需要.需要的兄弟直接copy过去即可.
    2010-06-06
  • php实现多城市切换特效

    php实现多城市切换特效

    本文给大家主要分享的是在PHP中如何获取用户IP地址、PHP根据IP判断用户所在城市以及PHP根据IP实现城市切换或跳转的问题。
    2015-08-08
  • php安装dblib扩展,连接mssql的具体步骤

    php安装dblib扩展,连接mssql的具体步骤

    下面小编就为大家带来一篇php安装dblib扩展,连接mssql的具体步骤。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • php设计模式 DAO(数据访问对象模式)

    php设计模式 DAO(数据访问对象模式)

    数据访问对象(Data Access Object) 示例 ,学习php的朋友可以参考下。
    2011-06-06
  • PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析

    PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析

    这篇文章主要介绍了PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法,结合实例形式分析了php的图像载入函数imagecreatefromgif、imagecreatefromjpeg、imagecreatefrompng、imagecreatefromwbmp及imagecreatefromstring使用技巧,需要的朋友可以参考下
    2016-11-11

最新评论