求最長不含重複字元的子字串

2021-09-25 23:42:11 字數 604 閱讀 7346

題目

最長不含重複字元的子字串

請從字串中找出乙個最長的不包含重複字元的子字串,計算該最長子字串的長度。假設字串中只包含從』a』到』z』的字元。例如,在字串中」arabcacfr」,最長非重複子字串為」acfr」,長度為4。

解題思路一:暴力破解法,遍歷所以的子字串,判斷其中的不重複的子字串

解題思路二:動態規劃,首先定義函式f(i)表示以第i個字元為結尾的不包含重複字元的子字串的最長長度,則有一下三種情形

1)第i個字元在之前都沒有出現過,則f(i) = f(i-1)+1

2)第i個字元在之前出現過,但是在f(i-1)這個子串的前面出現過,則最長還是f(i-1)+1

3)第i個字元在之前出現過,不過在f(i-1)的這個子串的中間出現過,則f(i)=這兩個重複字元出現位置的差值

最長不含重複字元的子字串

題目 輸入乙個字串,找出字串中最長的不含重複字元的子字串,計算該子字串的長度。假設字串中的字元為 a z 例如 arabcacfr 最長的字串為 rabc 和 acfr 長度為 4 int find max len string str else dp str i a i return max le...

最長不含重複字元的子字串

題目 請從字串中找出乙個最長的不包含重複字元的子 字串,計算該最長子字串的長度。假設字串中只包 含 a z 的字元。例如,在字串 arabcacfr 中,最長的不含重複字元 的子字串是 acfr 長度為 4。分析 f i 表示第i個字元為結尾的不包含重複字元的子字串的最大長度。如果第i個字元之前沒有...

最長不含重複字元的子字串

請從字串中找出乙個最長的不包含重複字元的子字串,計算該最長子字串的長度。假設字串中只包含從 a 到 z 的字元。例如,在字串中 arabcacfr 最長非重複子字串為 acfr 長度為4。暴力,o n o n 分析 維持乙個記憶空間,記錄不重複時的最大長度,然後依次加入新字元,如果加入的字元重複了則...