【leetcode力ボタン】PHP実現:3.重複文字のない長男列


タイトル
文字列を指定すると、重複文字が含まれていない長男の列の長さを見つけてください.
  : "abcabcbb"
  : 3 
  :              "abc",       3。
  : "bbbbb"
  : 1
  :               "b",       1。

入力:「pwwkew」出力:3解釈:重複文字のない長男列は「wke」であるため、その長さは3である.あなたの答えはサブストリングの長さでなければなりません.「pwke」はサブストリングであり、サブストリングではありません.
class Solution {

    /**
     * @param String $s
     * @return Integer
     */
    function lengthOfLongestSubstring($s) {
        if (strlen($s)==0) return 0;
        $map = [];
        $max = 0;
        $left = 0;
        for($i = 0; $i < strlen($s); $i++){
            if(array_key_exists($s[$i],$map)){
                $left = max($left, $map[$s[$i]] + 1);
            }
            $map[$s[$i]] = $i;
            $max = max($max,$i-$left+1);
        }
        return $max;
    }
}