题解 | #无重复字符的最长子串#
无重复字符的最长子串
http://www.nowcoder.com/practice/2787a88e2a8a4769added6a9be8e4857
1000) {
return '长度超过1000,请重新输入';
}
$long_str_arr = [];
$long_str_key = [];
$out = [];
for ($i = 0; $i < $str_len - 1; $i++) {
if (isset($long_str_key[$input_str[$i]])) {
$long_str_arr = array_del($long_str_arr, 0, $long_str_key[$input_str[$i]]);
}
$long_str_arr[$i] = $input_str[$i];
$long_str_key[$input_str[$i]] = $i;
if (count($out) < count($long_str_arr)) {
$out = $long_str_arr;
}
}
echo count($out);
// return implode(array_keys($out_arr));
}
function array_del($arr, $start, $end)
{
while (true) {
if ($start > $end) {
break;
}
unset($arr[$start]);
$start += 1;
}
return $arr;
}
GetLongestStr();