https://leetcode.cn/problems/longest-substring-without-repeating-characters/?envType=study-plan-v2&envId=top-100-liked
话说没看出来是滑动窗口,可能是设置一个左右指针来回移动吧.....瘫.....
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int res=0;
int l=0;
int r=0;
int n=s.length();//string字符串求解长度的时候需要使用length
unordered_set<char> set;//维护无重复字符的子串
for(int r=0;r<n;r++){
char c=s[r];
while(set.count(c))//有重复字符的情况下的操作
set.erase(s[l++]);//当有重复元素的时候只能能从左边一点点的移动,直至没有重复元素
set.insert(c);//没有重复字符就直接加入
res=max(res,r-l+1);
}
return res;
}
};