php实现寻找最长不含有重复字符的子串

寻找最长不含有重复字符的子串
直接上代码


//寻找最长不含有重复字符的子串
$str='abcabcbdc';
$str=preg_split('/(?,$str);//中文字符识别
$length=0;//长度
$start=0;//分段的起始位置
$arr=[];//更新每个值得键
foreach ($str as $k=>$v){
    if(@$arr[$v]!==null&&$arr[$v]>=$start){
        $start=$arr[$v]+1;
    }
    if(($k-$start+1)>$length){
        $length=$k-$start+1;
    }
    $arr[$v]=$k;
}
var_dump($length);
die();

你可能感兴趣的:(php)