演算法題 無重複字元的最長子串

2021-08-19 20:49:46 字數 1082 閱讀 4644

問題:給定乙個字串,找出不含有重複字元的最長子串的長度。

示例:給定"abcabcbb",沒有重複字元的最長子串是"abc",那麼長度就是3。

給定"bbbbb",最長的子串就是"b",長度是1。

給定"pwwkew",最長子串是"wke",長度是3。請注意答案必須是乙個子串,"pwke"是 子串行  而不是子串。

思路:

首先要儲存遍歷到未重複的字元,這裡可以用雜湊表,當然python裡可以用字典,c/c++可以用128位的陣列標誌ascii碼中的128位字元。這道題主要就是考慮子串的起點和終點在**,起點不能簡單地從重複字元開始算,因為重複字元之間肯定沒有其他重複字元了,所以這裡需要用兩個標誌標註子串的起點和終點,當重複了以後,則從上乙個起點的下乙個字元開始遍歷。

**:c/c++

#include #include using namespace std;

/** * definition for singly-linked list.

* struct listnode

* };

*/int lengthoflongestsubstring(string s) ;

int len = 0;

int max = len;

int n_iter = 0;

int pre = n_iter;

while( n_iter < s.size())//直到整個字串都遍歷完成

for(int j = 0;j<256;j++)//清空標誌位

pre = n_iter;//更新起點為現在開始遍歷的位置

zimu[s[n_iter]] =1;

len = 1;

} else

n_iter ++;

} return max;

}int main()

演算法題 無重複字元的最長子串

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

php演算法題 無重複字元的最長子串

閱讀量終於破萬了,不容易啊,不過看到訪問量大的也就那麼幾個,都是比較常見的問題,其他的文章仍然是沒人理採。不說這了,說說今天做的乙個演算法提,頭大啊 題目給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc...

無重複字元最長子串

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