leetcode3 無重複字元的最長子串

2021-09-22 17:49:13 字數 994 閱讀 8823

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

示例 1:

輸入: 「abcabcbb」

輸出: 3

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

示例 2:

輸入: 「bbbbb」

輸出: 1

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

示例 3:

輸入: 「pwwkew」

輸出: 3

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

請注意,你的答案必須是 子串 的長度,「pwke」 是乙個子串行,不是子串。

class solution:

def lengthoflongestsubstring(self, s: str) -> int:

left = 0 #佇列初始左端位置指標

max_len = 0 #最大子串長度

cur_len = 0 #當前佇列長度

lookup = set() #定義乙個佇列

n = len(s) #給定字串長度

for i in range(n):

cur_len += 1 #當前佇列長度加一

while s[i] in lookup: #若當前資料在佇列裡出現過

lookup.remove(s[left]) #刪除佇列最左端元素,迴圈往復直到當前資料沒在佇列出現過便停止刪除操作

cur_len -= 1 #當前佇列長度減一

left += 1 #佇列最左端指標進一

if cur_len > max_len: #若當前佇列長度大於目前最大子串長度

max_len = cur_len

lookup.add(s[i]) #將當前資料加入佇列中

return max_len

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.給定字串,找到最長無重複字...