- 題目:
給定一個字串,找到不重複字元的最長子字串的長度。 例如,對於“abcabcbb”,不重複字母的最長子字串是“abc”,長度為3.對於“bbbbb”,最長子字串是“b”,長度為1。
- 思路:由於這個題目只要給出最長不重複子串的長度,所以程式碼比較簡單。第一思路就是利用雜湊表來進行操作。用字元當做鍵值,字元在串中的位置當做實值。用pre變數記錄字元第一次出現的位置,最大長度max就是利用當前位置減去pre就是當前最大長度了。
- 程式碼
class Solution { public: int lengthOfLongestSubstring(string s) { map<char, int> mp; for (int i=0; i<s.length(); i++) mp[s[i]] = -1;//初始化雜湊表 int pre = -1, Max = 0; for (int i=0; i<s.length(); i++){ pre = max(pre, mp[s[i]]); Max = max(Max, i-pre); mp[s[i]] = i; } return Max; } };
(字串雜湊表)找到字串中不重複出現字元的最長子串長度
相關文章
- 求字串中不含重複字元的最長子串字串字元
- golang 計算最長不重複字串長度Golang字串
- 最長不含重複字元的子字串字元字串
- 無重複字元的最長子串字元
- 兩個字串的最長公共子串字串
- LeetCode133:給定一個字串,找出最長的不具有重複字元的子串的長度。例如,“abcabcbb”不具有重複字元的最長子串是“abc”,長度為3。對於“bbbbb”,最長的不具有重複字元的子串是LeetCode字串字元
- 生成固定長度不重複的隨機字串隨機字串
- java無重複字元的最長子串Java字元
- 3 無重複字元的最長子串字元
- 【谷歌面試題】找出字串中只包含兩種字元的最長子串谷歌面試題字串字元
- JZ-073-最長不含重複字元的子字串字元字串
- 3. 無重複字元的最長子串字元
- 演算法練習:求字串的最長重複子串(Java實現)演算法字串Java
- 劍指 Offer 48. 最長不含重複字元的子字串字元字串
- LeetCode——無重複字元的最長子串LeetCode字元
- 演算法-無重複字元的最長子串演算法字元
- 演算法之字串——最長迴文子串演算法字串
- Leetcode[字串] 3. 無重複字元的最長子串 10行極簡寫法!LeetCode字串字元
- JAVA面試題筆試題-查詢一個字串不重複最長的串(個人方法)Java面試題筆試字串
- LCR 016. 無重複字元的最長子串(中)字元
- 求字串中對稱的子字串的最大長度字串
- leetcode 之無重複字元的最長子串LeetCode字元
- 【LeetCode】3 無重複字元的最長子串LeetCode字元
- 字串雜湊表字串
- Leetcode[字串] 5. 最長迴文子串LeetCode字串
- 翻譯數字串;及最長迴文子串分析字串
- L2-008 最長對稱子串【最長迴文字串】字串
- 取字串左邊指定長度的子字串字串
- 取字串右邊指定長度的子字串字串
- leetcode無重複字元的最長字串 python實現LeetCode字元字串Python
- 【leetcode】【java】【3、無重複字元的最長子串】LeetCodeJava字元
- leetcode-3無重複字元的最長子串LeetCode字元
- LeetCode-3. 無重複字元的最長子串LeetCode字元
- Leetcode 3. 無重複字元的最長子串LeetCode字元
- leetcode 劍指 Offer 48. 最長不含重複字元的子字串LeetCode字元字串
- Leetcode 3.無重複字元的最長子串 字典記錄每個字元最後出現的位置LeetCode字元
- 最長子串
- 每日leetcode——3. 無重複字元的最長子串LeetCode字元