LeetCode 筆記 - 3. Longest Substring Without Repeating Characters
題目在此 3. Longest Substring Without Repeating Characters
給定一個字串,請給出最長不重複子字串的長度
解題思維
這題的思維是維持一個你目前字串的 value : index 的 map
除了可以用 map 檢查是否有重複字元也可以讓下一個字串的 start 移動的更有效率
見下圖1
2
3
4
5 start
v
h j z a b c a h i j g v .......
^
index
當 index 遇到 a,而目前字串已經有 a
所以下一次的 start 可以直接從舊有的 a index + 1 開始檢查
Time complexity: O(n)
程式碼
1 | class Solution: |