0
已解决
潘登
高级天翼
高级天翼
题目链接: 酷町堂:4523
4523 无重复的最长子串
经验值:1600 时间限制:1000毫秒 内存限制:128MB
题目描述 Description
输入一个字符串s,请你找到s中的一个无重复字符的最长子串b,输出它的长度。
输入描述 Input Description
一行,一个字符串s
输出描述 Output Description
一行,一个整数,表示s无重复字符出现的最长子串的长度
样例输入 Sample Input
【样例输入1】 aaaabbcdeeeefffdwdd 【样例输入2】 abcda
样例输出 Sample Output
【样例输出1】 4 【样例输出2】 4
数据范围及提示 Data Size & Hint
字符串长度不超过1,000,000,字符串中字符的ASCII码值不超过128。
#include<bits/stdc++.h>
using namespace std;
long long a[1000000],mx;
int main()
{
string s;
cin>>s;
for(int i=0;i<s.size();i++){
long long cnt=0,k=0;
memset(a,0,sizeof(a));
for(int j=i;j<s.size();j++){
if(a[s[j]]==0){
cnt++;
a[s[j]]++;
}
else{
mx=max(cnt,mx);
break;
}
}
}
cout<<mx;
return 0;
}