leetcode 三 無重複字元子串

2021-10-01 12:06:01 字數 517 閱讀 1536

題目

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

解法解析:

solution/hua-jie-suan-fa-3-wu-zhong-fu-zi-fu-de-zui-chang-z/

思路標籤:滑動視窗

暴力解法時間複雜度較高,會達到 o(n^2),故而採取滑動視窗的方法降低時間複雜度

定義乙個 map 資料結構儲存 (k, v),其中 key 值為字元,value 值為字元位置 +1,加 1 表示從字元位置後乙個才開始不重複

我們定義不重複子串的開始位置為 start,結束位置為 end

隨著 end 不斷遍歷向後,會遇到與 [start, end] 區間內字元相同的情況,此時將字元作為 key 值,獲取其 value 值,並更新 start,此時 [start, end] 區間內不存在重複字元

無論是否更新 start,都會更新其 map 資料結構和結果 ans。

時間複雜度:o(n)o(n)

LeetCode 題三 無重複長度字串

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

LeetCode刷題筆記 三)無重複字元的最長子串

題目 給定乙個字串,找出不含有重複字元的最長子串的長度。示例 給定 abcabcbb 沒有重複字元的最長子串是 abc 那麼長度就是3。給定 bbbbb 最長的子串就是 b 長度是1。給定 pwwkew 最長子串是 wke 長度是3。請注意答案必須是乙個子串,pwke 是 子串行 而不是子串。解題1...

LeetCode演算法學習三 無重複字元的最長子串

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