LeetCode 03 無重複字元的最長字串

2021-10-11 01:58:07 字數 1401 閱讀 1054

從頭開始遍歷每乙個字元放入到hashmap中,然後依次掃瞄後續每乙個字元繼續放入到hashmap中,直到某一字元已經存在為止。得到以該字元開頭對應的最大無重複字串。迴圈得到無重複字元的最長字串

當然我肯定不會就此滿足,於是我在乙個精選中看到了四個字滑動視窗不錯,我的思想就是這個,但是**實現上稍微有點區別。

並且這位大佬總結了所有的leetcode中滑動視窗的題,佩服佩服。

點我去看,快點,快點!

class

solution

:def

lengthoflongestsubstring

(self, s:

str)

->

int:

ans =

0 table =

start =

0for end, v in

enumerate

(s):

if v in table.keys():

start =

max(table.get(v)+1

, start)

ans =

max(ans, end - start +1)

table[v]

= end

return ans

又學到了

僅供個人學習使用,侵刪

Leetcode 03 無重複字元的最長子串

中等題 給定乙個字串,請你找出其中不含有重複字元的最長子串的長度。自己在那兒想了半天,定義了left和right兩個指標,每次右邊界右移得到新的字元,檢查前面有沒有重複的,如果有就直接將左邊界移至重複字元後面乙個,因為每一步都確保了前面的字串沒有重複字元,因此只要考慮新加入的即可,邏輯上應該沒啥問題...

Leetcode 03 無重複字元的最長子串

lf rt 確定子串範圍,mm記錄曾經遇到過的最長子串針對每乙個新的字元,從右向左找是否有重複,重複則重新劃定範圍,捨棄先遇到的字元。s lf s rt s i 構成這個最長子串,因此每次從rt開始一直遍歷到lf。五月打卡之新增 滑動視窗 while rt有移動空間 記錄此時的子串。rt 記得刪去不...

Leetcode題庫03 無重複字元的最長子串

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