您現在的位置是:首頁 > 運動
Python版LeetCode3. 無重複字元的最長子串
簡介本文轉載自【微信公眾號:機器學習演算法與Python精研,ID:AITop100】經微信公眾號授權轉載,如需轉載與原文作者聯絡題目:給定一個字串,找出不含有重複字元的最長子串的長度
串的子串數量怎麼算
本文轉載自【微信公眾號:機器學習演算法與Python精研,ID:AITop100】經微信公眾號授權轉載,如需轉載與原文作者聯絡
題目:
給定一個字串,找出不含有重複字元的
最長子串
的長度。
示例:
給定
“abcabcbb”
,沒有重複字元的最長子串是
“abc”
,那麼長度就是3。
給定
“bbbbb”
,最長的子串就是
“b”
,長度是1。
給定
“pwwkew”
,最長子串是
“wke”
,長度是3。請注意答案必須是一個
子串
,
“pwke”
是 而不是子串。
思路:
採用切分的方式,遇到重複字元時,記錄無重複字元的長度,把前面的所有字串“丟掉”然後以這個起點重新開始做切分,再遇到相同字元得到的長度與前面對比,取最大值,往復的到。
參考程式碼:
class
Solution
:
def
lengthOfLongestSubstring
(self, s)
:
“”“
:type s: str
:rtype: int
”“”
d = {}
start =
0
ans =
0
for
i,c
in
enumerate(s):
if
c
in
d:
start = max(start, d[c] +
1
)
d[c] = i
ans = max(ans, i - start +
1
)
return
ans
推薦文章
- 紅塵路幾條,莫笑折腰為鬥米,逍遙自在度今宵
遊子天涯斷腸處,離人夢裡淚潸然,珠簾半卷西風緊,寂寞空庭月正圓...
- 三換一遭拒!杰倫布朗和杜蘭特,兩人之間差距有多大?
綠軍只拿出一支首輪籤,也是認為杰倫是年輕的全明星球員,就算單換不了杜蘭特,加上懷特和一支首輪籤,這筆交易還是值得一試的,但也只能一試,這個報價籃網管理層是絕對不會答應的...
- 重慶知名小區新物業強行進場,與不撤場的原物業發生“衝突”!
於是在10月1日國慶節,天江鼎城業委會再次發函原物業要求其撤場:請於2022年10月14日前將物業管理服務相關資料移交我委,並於2022年10月15日24:00時前退出物業管理區域,確保小區穩定、有序交接...