Longest Substring Without Repeating Characters[LeetCode/Python3/Medium]

 


題目

給定一個字符串s,找到不含重複字符的最長子串的長度。

例子 1:

輸入: s = "abcabcbb"
輸出: 3
解釋: 答案是 "abc",長度為 3。

例子 2:

輸入: s = "bbbbb"
輸出: 1
解釋: 答案是 "b",長度為 1。

例子 3:

輸入: s = "pwwkew"
輸出: 3
解釋: 答案是 "wke",長度為 3。
注意答案必須是子串,"pwke" 是一個子序列而不是子串。

限制:

  • 0 <= s.length <= 5 * 104
  • s 由英文字母、數字、符號和空格組成。

我的答案

class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        if not s:
            return 0
        if len(s)==1:
            return 1
        head=0
        longest_s=0
        for i in range(1,len(s)+1):
            sub_string=s[head:i]
            if i<len(s):
                while s[i] in s[head:i]:
                    head+=1
                    if s[i]==s[head] and i-1 ==head:
                        head=i
            if len(sub_string) > longest_s:
                longest_s=len(sub_string)
        
        return longest_s



留言

這個網誌中的熱門文章

[理財/記帳]google表單結合iphone捷徑 自製記帳app

[理財/記帳]利用google表單記帳雲端化 - 免費模板下載@ Mimi's learning notes

[理財/記帳]懶人記帳-現金流+信用卡管理記帳法-不用天天記帳