简单算法 之 从一段无序的字符串中取出最长的一段不重复的字符串

php教程评论255 views阅读模式

/**

* 简单算法 之 从一段无序的字符串中取出最长的一段不重复的字符串

* 时间空间复杂度 O(n)

* 2016/06/18

*/

$str = '';

$arr = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','y','z'];

for($i=0;$i<100;$i++):

$str .= $arr[intval(rand(0,18))];

endfor;

printf("%s",$str);

function getStrOnlyLengthReturn($str)

{

$arr = [];

$returnArr = [];

$strLen = strlen($str);

for($i=0;$i<$strLen;$i++):

$arr [$str{$i}] = $str{$i};

if(isset($str{$i+1}) && isset($arr[$str{$i+1}]))://防止出现notice提醒

$returnArr[count($arr)] = implode($arr,'');

$arr = [];

endif;

endfor;

krsort($returnArr);

return array_shift($returnArr);

}

以上就介绍了 简单算法 之 从一段无序的字符串中取出最长的一段不重复的字符串,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

企鹅博客
  • 本文由 发表于 2019年9月22日 00:19:52
  • 转载请务必保留本文链接:https://www.qieseo.com/320391.html

发表评论