leetcode演算法第三題

2021-10-20 03:50:31 字數 1276 閱讀 2108

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

示例 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 說明 ...