题目:
Given a string, find the length of the longest substring without repeating characters.
Examples:
Given "abcabcbb", the answer is "abc", which the length is 3.
Given "bbbbb", the answer is "b", with the length of 1.
Given "pwwkew", the answer is "wke", with the length of 3. Note that the answer must be a substring, "pwke" is a subsequence and not a substring.
分类:Hash Table Two Pointers String
代码:
1 class Solution { 2 public: 3 int lengthOfLongestSubstring(string s) { 4 map<char,int> hash; 5 int start = -1; 6 int maxLength = 0; 7 for(int i = 0; i < s.size(); ++i) 8 { 9 if(hash.count(s[i]) != 0) 10 { 11 start = max(start,hash[s[i]]); 12 } 13 hash[s[i]] = i; 14 maxLength = max(maxLength,i-start); 15 } 16 return maxLength; 17 } 18 };
本文详细解析了寻找字符串中最长无重复字符子串的算法实现,通过使用哈希表和双指针技巧,有效地解决了这一经典问题。示例代码清晰地展示了如何通过迭代检查并更新最长子串长度。
676

被折叠的 条评论
为什么被折叠?



