无重复字符的最长子串
2019-01-31 本文已影响0人
花钱约下
/**
* 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
*
* @param $s
*
* @return bool|string
*/
function lengthOfLongestSubstring($s)
{
$len = strlen($s);
$ans = 0;
$i = 0;
$data = [];
for ($j = 0; $j < $len; $j++) {
$key = $s[$j];
if (array_key_exists($key, $data)) {
$i = max($data[$key], $i);
}
$ans = max($ans, $j - $i + 1);
$data[$key] = $j + 1;
}
return $ans;
}
$s = 'abderdfstdfd';
$x = lengthOfLongestSubstring($s);
echo $x;#6