您的位置:首页 > 其它

最长不重复的子字符串

2018-08-13 10:07 176 查看

给定一个字符串,找到最长的子串,要求该子串中没有重复的字符。

例如:

字符串abcabcbb的不含重复字符的 最长 子串为abc,长度为 33。

而bbbbbb的不含重复字符的 最长 子串为b,长度为 11。

输入格式
输入包含多行,每一行对应一个长度不超过 100100 的输出,直到遇到结束符为止。每行依次输入字符串s。

输出格式
输出不含重复字符的 最长 子串的长度。

样例输入
hchzvfrkmlnozjk
样例输出
11
 

[code]#include<stdio.h>
#include<cstring>
#include<iostream>
using namespace std;
int main()
{
char a[123];
int b[123];
while(scanf("%s",a)!=EOF)
{
int d=strlen(a);
int i,j;
int max=1;
for(i=0;i<d;i++)
{
int z=0;
memset(b,0,sizeof(b));
for(j=i;j<=d;j++)
{
int x=a[j];
b[x]++;
if(max<z)
max=z;
if(b[x]>1)
break;
z++;
}
}
cout<<max<<endl;
}
}

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: