题目描述
给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度
输入描述
输入一个字符串s
输出描述
不含重复字符的最长子串的长度
样例输入
abcabcbb
样例输出
3
样例解释
因为无重复字符的最长子串是“abc”,所以长度为3
数据范围
字符串长度小于1e5
正确代码:
#include<iostream>
using namespace std;
int main(){
string s;
cin>>s;
bool a[100005];
int l=1,r=1;
int maxx=-2147483647;
int c=s.size();
while(l<=c&&r<=c){
while(a[s[r]]==0&&r<c){
a[s[r]]=1;
r++;
}
maxx=max(maxx,r-l);
a[s[l]]=0;
l++;
}
cout<<maxx;
return 0;
}