找到最長子字串的長度,並且所有字元不重複

2021-09-24 23:50:08 字數 969 閱讀 4866

題目:

給定乙個字串,找到最長子字串的長度,要求子字串中所有字元不重複。

example:

input: 「abcabcbb」

output: 3

explanation: 滿足條件的最長子字串為 「abc」, 長度為3.

思路:

令max=0,從頭遍歷字串,邊遍歷邊計數count,當遍歷到與前面存在相同字元處時,比較max與count,若count大於max,則令max等於count,否則max不變;隨後重新計數,繼續遍歷,重複前面操作,直到遍歷結束。最後輸出最長字串的長度max。

**:

def

maxl

(a):

#a為字串

b=[] count=

0#用於計數

max=

0#存放最大長度

for i in a:

#遍歷字串

if i not

in b:

#判斷元素i是否存在b中

count=count+

1else:if

maxmax=count

x=b.index(i)

if x==0:

b.remove(i)

#刪除值為i的字元

else

:del b[

0:x+1]

#刪除索引位置為0-x的字元

count=b.__len__()if

max< count:

max= count

print

(max

)if __name__==

'__main__'

: a=

input

('input:'

) maxl(a)

leetcode 最長子字串的長度

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

最長子串的長度

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

字串中出現相同並且長度最長的子串

題目描述 在字串中找到出現相同的並且長度是最長的子串,輸出該子串以及其首字元的位置。例如mainstr yyabcdabjcabceg 輸出為 abc 和3。分析 每次都找到最大長度的子串,然後正序和逆序查詢該子串出現的位置。如果兩者位置不相等,則說明兩子串是相同的並且長度最長的子串,滿足條件。否則...