無重複字元的最長字串

2021-10-23 03:29:01 字數 724 閱讀 5198

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

示例 1:

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

示例 2:

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

示例 3:

這種字串字串問題,經常用到滑動視窗這種方法,我們可以使用hash表實現滑動視窗。

法一:hashset實現

class

solution

else

}return max;

}}

法二:hashmap實現

為了不再讓i遍歷每個字元的位置,使用hashmap,當出現相同的字元時,直接定位到已有的、相同字元的下乙個位置。

class

solution

max=math.

max(j-i+

1,max)

; map.

put(s.

charat

(j),j);}

return max;

}}

無重複字元的最長字串

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

無重複字串的最長字串

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

無重複字元的最長字串C

2020 02 03 class solution setdict int i 0 dict.insert s i int rtn 1 for int j 1 j s len j dict.insert s j else else return rtn 基本的思路是利用雜湊表來保證不重複的約束,利用...