給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。這種字串字串問題,經常用到滑動視窗這種方法,我們可以使用hash表實現滑動視窗。示例 1:
輸入: 「abcabcbb」 輸出: 3 解釋: 因為無重複字元的最長子串是 「abc」,所以其長度為 3。
示例 2:
輸入: 「bbbbb」 輸出: 1 解釋: 因為無重複字元的最長子串是 「b」,所以其長度為 1。
示例 3:
法一: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 基本的思路是利用雜湊表來保證不重複的約束,利用...