給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。
示例 1:
輸入: s = "abcabcbb"
輸出: 3
解釋: 因為無重複字元的最長子串是 "abc",所以其長度為 3。
示例 2:
輸入: s = "bbbbb"
輸出: 1
解釋: 因為無重複字元的最長子串是 "b",所以其長度為 1。
示例 3:
輸入: s = "pwwkew"
輸出: 3
解釋: 因為無重複字元的最長子串是 "wke",所以其長度為 3。
請注意,你的答案必須是 子串 的長度,"pwke" 是乙個子串行,不是子串。
示例 4:
輸入: s = ""
輸出: 0
超時個人題解
class solution:
def lengthoflongestsubstring(self, s: str) -> int:
if s:
li=""
max_l=0
index=0
k=ss=[i for i in s]
for _ in range(len(set(s))*4):
for data in s[index:]:
if data in li:
li=data
continue
li+=data
li_len=len(li)
if len(set(li))==li_len:
if li_len>max_l:
max_l=li_len
index+=1
li=""
else:
return 0
return max_l
大神題解
class solution:
def lengthoflongestsubstring(self, s):
""":type s: str
:rtype: int
"""st = {}
i, ans = 0, 0
for j in range(len(s)):
if s[j] in st:
i = max(st[s[j]], i)
ans = max(ans, j - i + 1)
st[s[j]] = j + 1
return ans;
leetcode第三題筆記
無重複字元的最長子串 給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。string s pwwkew int size,i 0,j,k,max 0 size s.size for j 0 jif j i 1 max max j i 1 思路其實跟滑動視窗一樣,外層的for迴圈作為視窗右...
Leetcode演算法題 三
awk nr 10 file.txt nr表示行數 sed n 10p file.txt n表示只輸出匹配行,p表示print tail n 10 file.txt head n 1 從tail表示讀取之後的行,head表示之前的行 tail n 10 file.txt head 1題目總結 nr ...
學習演算法第三題
問題 判斷整數是否是回文。ps 回文 把相同的詞彙或句子 在下文中調換位置或顛倒過來,產生首尾回環的情趣,叫做回文,也叫回環。要求 不能將整數轉化成字串!示例1 輸入 121 輸出 true 說明 從左到右,顯示121 從右到左,顯示121 因此為回文。示例2 輸入 121 輸出 false 說明 ...