Leetcode 最長子串

2021-08-20 08:25:29 字數 1278 閱讀 9661

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

示例:

給定 「abcabcbb」 ,沒有重複字元的最長子串是 「abc」 ,那麼長度就是3。

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

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

#include

#include

#include

#include

using namespace std;

static int max(int a, int b)

class sulotion

int ret = 0, pre = -1;

for (int j = 0; j < n; j++)

return ret;

}};#if 0

-------流程:a b c a b c b b ==> s.length() = 8; ma.size() = 3 (a,b,c);

-------s=>ret = 0;pre = -1;

-------1. j = 0; ma[s[j]] = -1,pre = -1;ret = 1;ma[s[j]] = 0;ma[a]=0;

-------2. j = 1; ma[s[j]] = -1,pre = -1;ret = 2;ma[s[j]] = 1;ma[b]=1;

-------3. j = 2; ma[s[j]] = -1,pre = -1;ret = 3;ma[s[j]] = 2;ma[c]=2;

-------4. j = 3; ma[s[j]] = 0, pre = 0 ;ret = 4;ma[s[j]] = 0;ma[a]=0;

-------5. j = 4; ma[s[j]] = 1, pre = 1 ;ret = 4;ma[s[j]] = 1;ma[a]=1;

-------6. j = 5; ma[s[j]] = 2, pre = 2 ;ret = 4;ma[s[j]] = 2;ma[a]=2;

-------7. j = 6; ma[s[j]] = 1, pre = 2 ;ret = 4;ma[s[j]] = 1;ma[a]=1;

-------8. j = 7; ma[s[j]] = 1, pre = 2 ;ret = 4;ma[s[j]] = 1;ma[a]=1;

#endif

int main()

Leetcode 無重複的最長子串

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

LeetCode 無重複字元的最長子串

英文描述 given a string,find the length of the longest substring without repeating characters.examples given abcabcbb the answer is abc which the length i...

leetCode 無重複字元的最長子串

題目描述 給定乙個字串,找出不含有重複字元的最長子串的長度。示例 給定 abcabcbb 沒有重複字元的最長子串是 abc 那麼長度就是3。給定 bbbbb 最長的子串就是 b 長度是1。給定 pwwkew 最長子串是 wke 長度是3。請注意答案必須是乙個子串,pwke 是 子串行 而不是子串。解...