字符串最长不重复字串长度

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");

所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!

  Previous post PHP排序函数
Next post   已到最新一篇

添加新评论

日历
2019 12
2345678
9101112131415
16171819202122
23242526272829
3031     

  关于博主

  近期评论

  • 暂无评论

生命要得到丰盛的收获,必需阳光;同时,也需要“雨”的浇灌。

人生应该树立目标,否则你的精力会白白浪费。

山涧的泉水经过一路曲折,才唱出一支美妙的歌。

如若不是为了一个人,谁肯枯守一座城。城市和爱情,总是有着这样那样的关系。我们会因为一个人,去到那座城,因为那是一座爱的城;我们也会因为一个人,离开一座城,那是一座绝望的伤城。

常求有利别人,不求有利自己。