• 两个字符串中找到相同的最长字符串





    $str1
    ='I love you, my dear'; $str2='Hanmeimei,Lilei love you'; function max_long_str($str1,$str2) { $s_str=strlen($str1)<=strlen($str2)?$str1:$str2;//判断长短,用短的字串折半 $l_str=strlen($str1)<=strlen($str2)?$str2:$str1;//折半后和长的字串来比较查找 for($j=strlen($s_str);$j>1;$j=ceil($j/2)) {//二分循环 for($i=0;$i<strlen($s_str)-$j+1;$i++) {//对折半后长度的字串依次比较 $temp=substr($s_str,$i,$j); if(($pos=strpos($l_str,$temp))!==FALSE) { if((($pos-$b_pos)==1)||!isset($b_pos)) { $str[$n]=substr_replace($str[$n],$temp,$k);//合并相邻 $k++; $b_pos=$pos; }else{$k=0;$n++;unset($b_pos);} }else{$k=0;$n++;unset($b_pos);}; } if(isset($str)) {//有符合则不必再折半 break; } } if(count($str)>=1) {//取长的 foreach($str as $value){ $strr=strlen($value)>=strlen($strr)?$value:$strr; } } return $strr; } echo max_long_str($str1,$str2);
    alex kong
  • 相关阅读:
    docker入门
    初级排序算法1-定义排序规则
    Lambda入门
    mac编辑器vim美化
    SSM搭建
    Memcached安装教程及使用
    lombok
    立个Flag-第一天
    等高线自适应分割
    wpf软件模拟鼠标键盘操作
  • 原文地址:https://www.cnblogs.com/klj123wan/p/3445136.html
Copyright © 2020-2023  润新知