最長無重複字元子串

2021-08-05 20:24:59 字數 500 閱讀 8699

給定乙個字串,求出其最長的無重複的字元子串的長度。

例:給定字串str = 「abcdahisjgdb」,則其最長無重複子串為「bcdahisjg」,長度為9。

思路:我們遍歷字串,計算以每乙個字元開頭的所有無重複子串的長度,最後比較這些長度,找出最大的乙個。

在每一次的迴圈中,我們用雜湊表來統計有無重複的字元。

本題比較簡單,直接上**。

code:

int longestsubstr(string str)

; int cnt;//統計每一次無重複字串的長度

int max = 0;//最長的無重複

for(int i = 0; i < len; ++i)

max = max >= cnt ? max : cnt;

memset(hashtable, 0, sizeof(hashtable));

} return max;

}

最長無重複字元的子串

網上看到一道題,找出乙個字串中的不含重複字元的最長子串,並列印,時間複雜度要求o n 比如字串 abababcmdefghikjflababaefabcdezghikjfaefew 有四個長度都為12 最長 符合條件的子串 abcmdefghikj fabcdezghikj abcdezghikjf...

最長無重複字元的子串

描述 給定乙個字串,請找出其中無重複字元的最長子字串。樣例 例如,在 abcabcbb 中,其無重複字元的最長子字串是 abc 其長度為 3。對於,bbbbb 其無重複字元的最長子字串為 b 長度為1。分析 剛開始其實也找不出思路,後面參考了網上,才理解了。總共字元有256個,可以建立乙個大小為25...

最長無重複字元的子串 LintCode

給定乙個字串,請找出其中無重複字元的最長子字串。樣例 例如,在 abcabcbb 中,其無重複字元的最長子字串是 abc 其長度為 3。對於,bbbbb 其無重複字元的最長子字串為 b 長度為1。挑戰 o n 時間 思路 遍歷字串,對於每個字元計算長度和起始位置,若在已遍歷的字串中不存在,則起始位置...