3. 无重复字符的最长子串
不定长滑动窗口题目
我们只需要使用哈希表存储窗口内的字符,然后滑动窗口,当出现重复字符时移动左指针即可,
每次遍历要更新结果。
很标准的三步:移入窗口,是否移出,更新结果
cpp
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int l=s.size();
int ant=0;
unordered_map<char,int> m;
for(int i=0,j=0;i<l;i++)
{
m[s[i]]++;
while(j<=i&&m[s[i]]>1)
{
m[s[j]]--;
j++;
}
ant=max(ant,i-j+1);
}
return ant;
}
};