LeeCode3 無重複字元的最長子串

2021-10-03 10:47:13 字數 916 閱讀 8613

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

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陣列儲存陣列的便利,將該位置之前所有的字元除去...