【leetcode力ボタン】PHP実現:3.重複文字のない長男列
タイトル
文字列を指定すると、重複文字が含まれていない長男の列の長さを見つけてください.
例
入力:「pwwkew」出力:3解釈:重複文字のない長男列は「wke」であるため、その長さは3である.あなたの答えはサブストリングの長さでなければなりません.「pwke」はサブストリングであり、サブストリングではありません.
解
文字列を指定すると、重複文字が含まれていない長男の列の長さを見つけてください.
例
: "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;
}
}