給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。
1.暴力法
public
intlengthoflongestsubstring
(string s)
char
ss = s.
tochararray()
;int len = ss.length;
setset =
newhashset
();int max_len =0;
//for循壞依次從頭開始找
for(
int i=
0;i)//存入map
set.
add(ss[i]);
int temp_len =1;
int j = i+1;
while
(j!set.
contains
(ss[j]))
//儲存最大值
if(temp_len>max_len)
if(j==len)
}return max_len;
}
2.滑動視窗
public
intlengthoflongestsubstring
(string s)
char
ss = s.
tochararray()
;int len = ss.length;
setset =
newhashset
();int max_len =0;
//滑動視窗
int i=0;
int j=0;
while
(jelse
}return max_len;
}
Leecode3 無重複字元的最長子串
題目說明 如,在 abcabcbb 中,其無重複字元的最長子字串是 abc 其長度為 3 對於,bbbbb 其無重複字元的最長子字串為 b 長度為1。基本思路 遍歷該字串,往集合裡面插入元素 1 插入成功,說明無重複,繼續插入 2 插入不成功時,元素有重複,記錄當前最大長度,查詢與當前元素重複的前面...
leecode3 無重複字元的最長子串
1.題目描述 給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。2.示例 示例 1 輸入 s abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 s bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3...
leecode 無重複字元的最長子串
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。題解 因為題目中所有的字元都是字元,字元的ascall碼不大於300,用乙個300的word陣列來儲存,每個字元在字串中的位置,當字元重複時,將該字元首次出現的字元的位置求解出來,利用word陣列儲存陣列的便利,將該位置之前所有的字元除去...