3. Longest Substring Without Repeating Characters

Given a string, find the length of the longest substring without repeating characters.

Example 1:

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

Example 2:

Input: "bbbbb"
Output: 1
Explanation: The answer is "b", with the length of 1.

Example 3:

Input: "pwwkew"
Output: 3
Explanation: The answer is "wke", with the length of 3. 
             Note that the answer must be a substring, "pwke" is a subsequence and not a substring.

PHPcode :

class Solution {
    function lengthOfLongestSubstring($s) {
        $tmp = [];
        $max = 0;
        for($i=0;$i< strlen($s); $i++){
            $k = array_search($s[$i], $tmp);
            if($k !== false){
                array_splice($tmp, 0, $k+1);
            }

            $tmp[] = $s[$i];
            $max = $max > count($tmp) ? $max: count($tmp);

        }
        return $max;
    }
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注