一、題目描述
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。
示例 1:
輸入: "abcabcbb"示例 2:輸出: 3
解釋: 因為無重複字元的最長子串是
"abc",所以其
長度為 3。
輸入: "bbbbb"示例 3:輸出: 1
解釋: 因為無重複字元的最長子串是
"b"
,所以其長度為 1。
輸入: "pwwkew"輸出: 3
解釋: 因為無重複字元的最長子串是
"wke"
,所以其長度為 3。請注意,你的答案必須是 子串 的長度,
"pwke"
是乙個子串行,不是子串。二、思路分析
1、邏輯演推
將字串元素放入關聯陣列(字元 => 鍵),依次讀取字串元素,並判斷該元素是否在字典中存在,如果存在,起始字元位置改為,重複元素的下一位
例:字串:asfsdf
第一步:讀取a,該元素在字典中不存在, 放入字典 ['a' => 0] .... 依次讀取sf,並放入 ['a' => 0, 's' => 1, 'f' => 2]
第二步:讀取s ,s在字典中存在,此時從s的下乙個元素開始的字串中,判斷是否存在重複字元,即fsdf,更新s的位置資訊['a' => 0, 's' => 3, 'f' => 2]
第三步:重複一二步即可
三、php**
class solution else if($i == $strlen - 1)$dict[$char] = $i;
}return $max;
}}
無重複字元的最長字串
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...
無重複字元的最長字串
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 這種字串字串問題,經常用到滑動...
無重複字串的最長字串
無重複字元的最長子串 難度中等 給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3...