Longest Substring Without Repeating Characters

原题链接-M

Example
Input: "abcabcbb"
Output: 3
Explanation: The answer is "abc", with the length of 3.

时间复杂度: O(N)- 空间复杂度: O(N)

print_r(test("abcabcbb"));

function test($str) {
    if (empty($str)) {
        return 0;
    } 
    
    $strlen = mb_strlen($str);
    $res = $start = $end = 0;
    $lookup = [];
    
   while ($start < $strlen && $end < $strlen) {
       $nowStr = $str[$end];
       if (in_array($nowStr,$lookup)) {
           $deleStr = substr($str,0,$start);
           $lookup = array_diff($lookup,[$deleStr]);
           $start ++;
       } else {
            $lookup[] = $nowStr;
            $res = max($res, $end-$start+1);
            $end ++;
       }
   }
   return $res;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容