原题目:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
思路:
采用滑动窗口的方法,在当前的起始位置i,找到最大的不重复子串,然后i+1,在进行计算,取最大的长度
代码:
class Solution {
public:
int lengthOfLongestSubstring(string s){
unordered_set<char> m;
int right=-1,ans=0;
int n = s.size();
for(int i=0;i<n;i++){
if(i!=0){
m.erase(s[i-1]);
}
while(right<n-1 && !m.count(s[right+1])){
m.insert(s[right+1]);
++right;
}
ans = max(ans,right-i+1);
}
return ans;
}
};