LeetCode 無重複字元的最長子串

2022-08-24 14:06:09 字數 806 閱讀 5014

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

示例 1:

輸入: "abcabcbb"

輸出: 3

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

示例 2:

輸入: "bbbbb"

輸出: 1

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

示例 3:

輸入: "pwwkew"

輸出: 3

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

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

解法:首先是子串,所以連續的。乙個滑動視窗,視窗內的都是沒有重複的字元,我們需要盡可能的擴大視窗的大小。由於視窗在不停向右滑動,視窗的右邊界就相當於遍歷到的字元的位置。

為了求出視窗的大小,我們需要乙個變數left來指向滑動視窗左邊界,乙個變數記錄視窗的右邊界如果該字元沒有出現過就右邊界增加,否則就移動左邊界直到重複的字元去掉。

為了判斷字元是否出現過把出現過的字元都放入set中,遇到set中沒有的字元就加入set中並更新結果res,如果遇到重複的,則從左邊開始刪字元,直到刪到重複的字元停止。

class

solution

else

ss.erase(s[l++]);

}return

ans;

}};

LeetCode第3題題解 無重複字元的最長子串

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

LeetCode刷題實戰3 無重複字元的最長子串

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

leetcode刷題之路3 無重複字元的最長子串

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。字元陣列和字串的區別,c語言字元陣列和字串區別詳解 開始的想法是在對字元陣列設定兩個指標,初始化乙個在位置0乙個在位置1,ans初始化...