function getMaxString($str){ $hash = array(); $prev = 0;//公共字符串的初始位置 $max_len = 0;//最大值 $strLength = strlen($str);//字符串长度 for($i=0;$i<=$strLength;$i++){ if(array_key_exists($str[$i],$hash)){//字符出现过 if($hash[$str[$i]] >= $prev){ $prev = $hash[$str[$i]] +1; } $hash[$str[$i]] = $i;//记录字符出现的位置 }else{ $hash[$str[$i]] = $i; } $max_len = max($max_len,$i-$prev+1);//计算最大值 } return $max_len; } $res = getMaxString("abcabc");echo $res;
输出:
PHP求非重复字符串的最大值
最新推荐文章于 2024-05-02 14:26:53 发布