/*
给定一个字符串,请你找出其中不含有重复字符的 最长子串的长度。
解题思路:滑动窗口的左右边界是[i,j),窗口长度curlen,用k来遍历窗口的值是否和下一个待添加的数重复,若重复,则左窗口移到k+1的位置,并且更新maxlen和curlen
*/
#include<stdio.h>
#include<math.h>
#include<malloc.h>
#include<string.h>
int lengthOfLongestSubstring(char * s){
int curlen=0,i,j,k,len=strlen(s),maxlen=0;
for(i=0,j=0;j<len&&(len-i)>maxlen;j++){
curlen++;
for(k=i;k<=j;k++){
if(s[k]==s[j+1]){
if(curlen>maxlen){
maxlen=curlen;
}
i=k+1;
curlen=j-i+1;
break;
}
}
}
if(curlen>maxlen){
maxlen=curlen;
}
return maxlen;
}
main()
{
char a[100];
gets(a);
int n;
n = lengthOfLongestSubstring(a);
printf("%d\n",n);
}