package algorithm;
import java.util.Scanner;
/**
* 从字符串S中找出不包含重复字符的最大连续子字符串长度,
* 如1:"abcdapp"最长合法子串为"bcdap"返回长度为5
* 2:"aaaaaaa"最长合法子串为"a",返回长度为1
* @author Administrator
*
*/
public class NonRepeatedSubString {
public static void main(String[]args){
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine();
findMaxNonReaptedString(str);
}
public static void findMaxNonReaptedString(String str)
{
int begin=0;
int end=0;
int maxLength=0;
int tempLength=0;
int k=0;
char c=0;
for(int i=0,j=0;j<str.length();j++)
{
String source=str.substring(i,j);
System.out.println(source);
c=str.charAt(j);
k=contains(source,c);
if(k>-1)
{
i=i+k+1;
tempLength=j-i+1;
}
else{
tempLength+=1;
if(tempLength>maxLength)
{
maxLength=tempLength;
begin=i;
end=j;
}
}
}
System.out.println("the max substring without repeated char is:"+str.substring(begin,end+1));
}
public static int contains(String str,char c)
{
String s=Character.toString(c);
return str.indexOf(s);
}
}