3 無重複字元的最長字串

2022-08-24 10:39:13 字數 787 閱讀 1409

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

示例1:

輸入:"abcabcbb"

輸出:

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

示例2:

輸入:"bbbbb"

輸出:1

主要思想:「滑動視窗」,使用乙個容器儲存遍歷的字元。

遍歷字串,同時將不重複的字元儲存到視窗中,視窗的右邊界加一,相當於向右滑動了一位;當遇到重複字元時,就從視窗的左邊界縮小視窗大小,直到容器中不包括該重複字元。本質上也是借助外部空間。

解法1:

int lengthoflongestsubstring(string

s)

else

}return

max;

}

解法2:

int lengthoflongestsubstring(string

s)

max = std::max(max, j - i + 1

);

//右邊界向右滑動一位

mp.emplace(s.at(j), j + 1

); }

return

max;

}

3 無重複字元的最長字串

題目描述 給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。s 由英文本母 數字 符號和空格組成。例項 輸入 s abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。link 解題思路 滑動視窗 1 我們使用兩個指標表示字串中某個子串的左右邊界。其中左...

3 無重複字元的最長字串

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

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

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