3 無重複字元的最長子串

2021-10-03 16:38:36 字數 807 閱讀 3316

題解 1:

維持乙個滑動視窗來做比較,初始時使左右邊界指標從 0 出發,並維護乙個  【字元】 => 【位置】 的 map。

首先右指標向前走,判斷當前字元是否在 map 中,存在則判斷 map 值是否在視窗內,存在左指標前移,否則右指標前移並更新 map 中的值。字元不存在則存在 map 中。  耗時 0 ms

package main

import (

"fmt"

"strings"

)func main()

func getlongstr(s string) int else if r < slen else

} else

if (r - l) > res

"i=%v res=%v ok=%v l=%v r=%v\n", i, res, ok, l, r)

} return res

}

題解 2:

維持乙個 map ,保持最新字元出現的位置,耗時 4 ms

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