leetcode 3 無重複字元的最長子串

2021-10-13 10:01:51 字數 613 閱讀 8112

class solution(object):

def lengthoflongestsubstring(self, s):

""":type s: str

:rtype: int

"""occ = set()

n = len(s)

# 右指標,初始值為 -1,相當於我們在字串的左邊界的左側,還沒有開始移動

rk, ans = -1, 0

for i in range(0, n, 1):

if i != 0:

# 左指標向右移動一格,移除乙個字元

occ.remove(s[i - 1])

while rk + 1 < n and s[rk + 1] not in occ:

# 不斷地移動右指標

occ.add(s[rk + 1])

rk += 1

# print(occ)

# print(i, rk)

# 第 i 到 rk 個字元是乙個極長的無重複字元子串

ans = max(ans, rk - i + 1)

# print(occ)

return ans

leetcode 3 無重複的字串

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

leetcode 3 無重複字元的最長字元子串

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

leetcode 3 最長無重複字串

3.longest substring without repeating characters 題面 given a string,find the length of the longest substring without repeating characters.給定字串,找到最長無重複字...