字符串最长不重复字串长度
class Solution
{
/**
* @param String $s
* @return Integer
*/
function lengthOfLongestSubstring($s)
{
$len = strlen($s);
if ($len <= 1) {
return $len;
}
$start = $ans = 0;
$ss = '';
$map = [];
for ($end = 0; $end < $len; $end++) {
if (isset($map[$s[$end]])) {
$ss = substr($s, $start, $ans);
$start = max($map[$s[$end]], $start);//这里很重要
}
$ans = max($ans, $end - $start + 1);
$map[$s[$end]] = $end + 1;//加一很重要
if ($ans > strlen($ss)) {
$ss = substr($s, $start, $ans);
}
}
var_dump($start, $end, $ans, $map, $ss);
}
}
$a = new Solution();
$a->lengthOfLongestSubstring("abba");
Tags : 本文未设置标签
所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!
Previous post
PHP排序函数
Next post
已到最新一篇