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

2021-10-04 23:10:22 字數 760 閱讀 3502

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

示例 1:

輸入: 「abcabcbb」

輸出: 3

解釋: 因為無重複字元的最長子串是 「abc」,所以其長度為 3。

示例 2:

輸入: 「bbbbb」

輸出: 1

解釋: 因為無重複字元的最長子串是 「b」,所以其長度為 1。

示例 3:

輸入: 「pwwkew」

輸出: 3

解釋: 因為無重複字元的最長子串是 「wke」,所以其長度為 3。

請注意,你的答案必須是 子串 的長度,「pwke」 是乙個子串行,不是子串。

根據題意我們要尋求最大沒有重複的子串,我們可以使用滑動視窗進行分析。首先我們不確定子串長度,所以視窗大小是不確定的。視窗不確定就需要我們來擴容視窗,需要注意在擴容的過程中我們需要進行重複校驗,如果有重複的字元,我們就將當前視窗最左端向右移動,然後再進行判斷視窗中是否有重複,直到視窗右側到達字串底端。

注意的點

如何判斷是否重複?

我們每次進行視窗向右擴容時,校驗此時視窗右側的字元是否在視窗中。

視窗開閉問題

[),包含左側但是不包含右側

如何校驗是否重複

使用set來儲存視窗中的字元

class

solution

else

}return ans;

}}

加油,你所做的努力最後都不會辜負你。

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

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

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

1.暴力解法 兩個for迴圈檢出所有子串,對於每乙個子串再分別用乙個函式判斷是否為重複子串,若為非重複子串,則計算出其長度,直至找到最大值。時間複雜度 o n3 每個子串的重複判斷需要 o j i 2.滑動視窗 初始值i j 0 j不斷向右滑動,只要該字串為非重複字串就不斷向右滑動,每次滑動記錄該不...

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

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