給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。
示例 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.給定字串,找到最長無重複字...