3 無重複字元的最長子串

2021-10-10 18:28:12 字數 581 閱讀 6654

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

輸入: 「abcabcbb」

輸出: 3

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

解決思路:滑動視窗

用到的資料結構:hashmap 判斷是否存在

key為字元 value為字元位置+1 (表示從後面一位不重複)

class

solution

ans = math.

max(ans, end - start +1)

; map.

put(s.

charat

(end)

, end +1)

;}return ans;

}}

start = math.max(map.get(a),start);

例子:…a…b…a…a…b… 舉例應該是這樣的例子吧,第二個a會把start更新到第乙個a之後,第三個a會把start更新到第二個a之後,此時start=idx(a2]+1,到第二個b會選擇max[map(b),start]=start

3 無重複字元的最長子串

給定乙個字串,找出不含有重複字元的最長子串的長度。示例 給定 abcabcbb 沒有重複字元的最長子串是 abc 那麼長度就是3。給定 bbbbb 最長的子串就是 b 長度是1。給定 pwwkew 最長子串是 wke 長度是3。請注意答案必須是乙個子串,pwke 是 子串行 而不是子串。思路 用 i...

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解釋 因為...