简单算法 之 从一段无序的字符串中取出最长的一段不重复的字符串
程序员文章站
2022-06-03 17:28:50
...
/**
* 简单算法 之 从一段无序的字符串中取出最长的一段不重复的字符串
* 时间空间复杂度 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 $str .= $arr[intval(rand(0,18))];
endfor;
printf("%s",$str);
function getStrOnlyLengthReturn($str)
{
$arr = [];
$returnArr = [];
$strLen = strlen($str);
for($i=0;$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);
}
* 简单算法 之 从一段无序的字符串中取出最长的一段不重复的字符串
* 时间空间复杂度 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 $str .= $arr[intval(rand(0,18))];
endfor;
printf("%s",$str);
function getStrOnlyLengthReturn($str)
{
$arr = [];
$returnArr = [];
$strLen = strlen($str);
for($i=0;$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教程有兴趣的朋友有所帮助。