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

2021-08-22 03:04:07 字數 528 閱讀 9267

題目:

輸入乙個字串,找出字串中最長的不含重複字元的子字串,計算該子字串的長度。假設字串中的字元為「a~z」,例如 arabcacfr ,最長的字串為 rabc 和 acfr ,長度為 4 。

**:

int find_max_len(string str)

else

dp[str[i] - 'a'] = i;

}return max_len;

}

解析:

dp陣列值表示字元出現的座標,例如:dp[2]=2表示c字元在下標為2的地方出現過一次,index表示不重複字元的起始下標。

index小於或等於dp[str[i] - 『a』],說明index~i之間有字元str[i],則重新調整下標index的值;

index大於dp[str[i] - 『a』],說明index~i之間還沒有出現重複的字元,則需比較最大長度和現在最大長度。

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

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

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

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

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

給定乙個字串,請你找出其中不含有重複字元的最長子串的長度。示例 1 示例 2 示例 3 設定乙個大小為128的陣列記錄字元的下標,子字串的長度為j i 1。變數res記錄當前最長不含重複字元的子字串,變數j指向當前遍歷的字元,如果j指向的字元重複出現,變數i更新為j 1,這樣後面計算子字串長度的時候...