給定乙個字串,請你找出其中不含有重複字元的最長子串的長度。
示例 1:
示例 2:
示例 3:
設定乙個大小為128的陣列記錄字元的下標,子字串的長度為j - i + 1。變數res記錄當前最長不含重複字元的子字串,變數j指向當前遍歷的字元,如果j指向的字元重複出現,變數i更新為j+1,這樣後面計算子字串長度的時候就會忽略重複字元的部分。
class
solution
vector<
int>
hash_map
(128,0
);int res =0;
for(
int j =
0,i =
0;j < s.
size()
;++j)
return res;}}
;
時間複雜度:o(n)
空間複雜度:o(1)
最長不含重複字元的子字串
題目 輸入乙個字串,找出字串中最長的不含重複字元的子字串,計算該子字串的長度。假設字串中的字元為 a z 例如 arabcacfr 最長的字串為 rabc 和 acfr 長度為 4 int find max len string str else dp str i a i return max le...
最長不含重複字元的子字串
題目 請從字串中找出乙個最長的不包含重複字元的子 字串,計算該最長子字串的長度。假設字串中只包 含 a z 的字元。例如,在字串 arabcacfr 中,最長的不含重複字元 的子字串是 acfr 長度為 4。分析 f i 表示第i個字元為結尾的不包含重複字元的子字串的最大長度。如果第i個字元之前沒有...
最長不含重複字元的子字串
請從字串中找出乙個最長的不包含重複字元的子字串,計算該最長子字串的長度。假設字串中只包含從 a 到 z 的字元。例如,在字串中 arabcacfr 最長非重複子字串為 acfr 長度為4。暴力,o n o n 分析 維持乙個記憶空間,記錄不重複時的最大長度,然後依次加入新字元,如果加入的字元重複了則...