最長不重複的子串長度

2021-09-21 07:23:42 字數 977 閱讀 3386

given a string, find the length of the longest substring without repeating characters.

example 1:

input: "abcabcbb"

output: 3

explanation: the answer is "abc", with the length of 3.

example 2:

input: "bbbbb"

output: 1

explanation: the answer is "b", with the length of 1.

example 3:

input: "pwwkew"

output: 3

explanation: the answer is "wke", with the length of 3.

note that the answer must be a substring, "pwke" is a subsequence and not a substring.

思路一,我自己的思路採用的是hashmap來儲存每次出現的字元,當出現重複字元的時候,就記錄這段的最長,然後重新開始。但是這樣很浪費時間,重複了一些步驟。

class

solution

else

break;}

//儲存當前最大的子串

if(count >= result)

result = count;

}return result;

}}

思路二:開闢乙個能容納所有字母ascii碼大小的陣列,用字母當下標,值當出現的位置,用乙個指標來指示從不重複的位置開始。

class

solution

return res;

}}

最長不重複子串

出處 勇幸 thinking 題 從乙個字串中找到乙個連續子串,該子串中任何兩個字元不能相同,求子串的最大長度並輸出一條最長不重複子串。本節從最直接的方法逐步優化,漸進探索了四種實現方式,並最終找到時間複雜度為o n 輔助空間為常數的方案,內容如下 基本演算法 使用hash dp方案 dp hash...

最長不重複子串

演算法參考 找到乙個字串中的乙個連續子串,這個子串內不能有任何兩個字元是相同的,並且這個子串是符合要求的最長的。例如輸入 abcbef 輸出 cbef o n 的演算法,具體思路如下 以abcbef這個串為例,用乙個陣列pos記錄每個元素曾出現的下標,初始化為 1。從s 0 開始,依次考察每個字元,...

最長不重複子串

題目鏈結 給定乙個字串,找到最長的子串,要求該子串中沒有重複的字元。例如 字串abcabcbb的不含重複字元的 最長 子串為abc,長度為 3。而bbbbbb的不含重複字元的 最長 子串為b,長度為 1。輸入格式 輸入包含多行,每一行對應乙個長度不超過 100 的輸出,直到遇到結束符為止。每行依次輸...