力扣 無重複字元的最長子串

2021-09-27 04:40:48 字數 413 閱讀 1624

1.暴力解法:兩個for迴圈檢出所有子串,對於每乙個子串再分別用乙個函式判斷是否為重複子串,若為非重複子串,則計算出其長度,直至找到最大值。

時間複雜度:o(n3) 每個子串的重複判斷需要 o(j-i);

2.滑動視窗: 初始值i=j=0; j不斷向右滑動,只要該字串為非重複字串就不斷向右滑動,(每次滑動記錄該不重複字串長度),直至遇到阻礙字串成為非重複字串的字元,此時將i不斷向右滑動,直至該字串再一次成為非重複字串,輪換為j向右滑動。不斷重複,直至 j=n 停止滑動。

時間複雜度: 最壞情況下是o(2n),一般情況下是o(n);當i=0,j=n-1時,若此時s[n-2]與s[n-1]重複,則左邊視窗要再滑一遍,即此時每個元素都被訪問兩遍,固此時時間複雜度為o(2n)。

滑動視窗其實就是不斷找到最長不重複子字串,得到長度進行比較。

力扣 無重複字元的最長子串 C

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

力扣3 無重複字元的最長子串

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

力扣 3 無重複字元的最長子串

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