一旦出現出現次數,先考慮雜湊表;
涉及子串,考慮滑動視窗。
每向右移動一次就判斷字元是否出現過,未出現則新增進set,否則結束while,計算最大值。
在左指標向右移動時就剔除乙個set中儲存的值,可以優化至迴圈剔除到重複值的位置。
class
solution
//遍歷字串
while
(r < arr.length &&
!set.
contains
(arr[r]))
//更新最大值
summax = math.
max(r - i,summax);}
return summax;
}}
更優的
class
solution
ans = math.
max(ans, i - left +1)
; map.
put(s.
charat
(i), i);}
return ans;
}}
無重複字元最長子串
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...
無重複字元最長子串
題目描述 給定乙個字串,找出不含有重複字元的 最長子串 的長度。示例 給定 abcabcbb 沒有重複字元的最長子串是 abc 那麼長度就是3。給定 bbbbb 最長的子串就是 b 長度是1。給定 pwwkew 最長子串是 wke 長度是3。請注意答案必須是乙個子串,pwke 是子串行而不是子串 i...
無重複字元的最長子串
給定乙個字串,找出不含有重複字元的最長子串的長度。示例 給定 abcabcbb 沒有重複字元的最長子串是 abc 那麼長度就是3。給定 bbbbb 最長的子串就是 b 長度是1。給定 pwwkew 最長子串是 wke 長度是3。請注意答案必須是乙個子串,pwke 是 子串行 而不是子串。int le...