3 無重複字元的最長子串(python)

2021-10-06 18:14:26 字數 714 閱讀 4733

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。

輸入:

"abcabcbb"

輸出:3

解釋: 因為無重複字元的最長子串是 "abc",所以其長度為 3。

輸入:

"bbbbb"

輸出:1

解釋: 因為無重複字元的最長子串是 "b",所以其長度為 1。

class

solution

:def

lengthoflongestsubstring

(self, s)

:set()

# 定義雜湊集合,記錄字元是否出現過

n =len(s)

# 字串長度

l, ans =-1

,0# l表示左指標,ans表示最終結果

for i in

range

(n):

# 遍歷

if i !=0:

# 滑動視窗1]

)while l +

1< n and s[l +1]

not1])

# 移動左指標

l +=

1 ans =

max(ans, l - i +1)

# 比較

return ans

3 無重複字元的最長子串

給定乙個字串,找出不含有重複字元的最長子串的長度。示例 給定 abcabcbb 沒有重複字元的最長子串是 abc 那麼長度就是3。給定 bbbbb 最長的子串就是 b 長度是1。給定 pwwkew 最長子串是 wke 長度是3。請注意答案必須是乙個子串,pwke 是 子串行 而不是子串。思路 用 i...

3 無重複字元的最長子串

給定乙個字串,找出不含有重複字元的最長子串的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 無重複字元的最長子串是 abc 其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 無重複字元的最長子串是 b 其長度為 1。示例 3 輸入 pwwkew 輸出 3 解釋 無重複字元的最長子串是...

3 無重複字元的最長子串

給定乙個字串,請你找出其中不含有重複字元的最長子串的長度。示例 1 輸入 abcabcbb 輸出 3解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3解釋 因為...