public class Main
{
public static int getLongestSubstringNoRepeats
( String string
){ int iLongestSoFar = 0;
char charPrevious = 0;
int xCharacter = 0;
int iCurrentLength = 0;
while( xCharacter < string.length() ){
char charCurrent = string.charAt( xCharacter );
iCurrentLength++;
if( charCurrent == charPrevious ){
if( iCurrentLength > iLongestSoFar ) iLongestSoFar = iCurrentLength;
iCurrentLength = 1;
}
charPrevious = charCurrent;
}
return iCurrentLength > iLongestSoFar ? iCurrentLength : iLongestSoFar;
}
public static void main
(String[] args
) {
System.
out.
println(getLongestSubstringNoRepeats
("AABGAKGIMN")); }
}
cHVibGljIGNsYXNzIE1haW4KewpwdWJsaWMgc3RhdGljIGludCBnZXRMb25nZXN0U3Vic3RyaW5nTm9SZXBlYXRzKCBTdHJpbmcgc3RyaW5nICl7CiAgICBpbnQgaUxvbmdlc3RTb0ZhciA9IDA7CiAgICBjaGFyIGNoYXJQcmV2aW91cyA9IDA7CiAgICBpbnQgeENoYXJhY3RlciA9IDA7CiAgICBpbnQgaUN1cnJlbnRMZW5ndGggPSAwOwogICAgd2hpbGUoIHhDaGFyYWN0ZXIgPCBzdHJpbmcubGVuZ3RoKCkgKXsKICAgICAgICBjaGFyIGNoYXJDdXJyZW50ID0gc3RyaW5nLmNoYXJBdCggeENoYXJhY3RlciApOwogICAgICAgIGlDdXJyZW50TGVuZ3RoKys7CiAgICAgICAgaWYoIGNoYXJDdXJyZW50ID09IGNoYXJQcmV2aW91cyApewogICAgICAgICAgICBpZiggaUN1cnJlbnRMZW5ndGggPiBpTG9uZ2VzdFNvRmFyICkgaUxvbmdlc3RTb0ZhciA9IGlDdXJyZW50TGVuZ3RoOwogICAgICAgICAgICBpQ3VycmVudExlbmd0aCA9IDE7CiAgICAgICAgfQogICAgICAgIGNoYXJQcmV2aW91cyA9IGNoYXJDdXJyZW50OwogICAgfQogICAgcmV0dXJuIGlDdXJyZW50TGVuZ3RoID4gaUxvbmdlc3RTb0ZhciA/IGlDdXJyZW50TGVuZ3RoIDogaUxvbmdlc3RTb0ZhcjsKfQoKICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykKICAgewogICAgICBTeXN0ZW0ub3V0LnByaW50bG4oZ2V0TG9uZ2VzdFN1YnN0cmluZ05vUmVwZWF0cygiQUFCR0FLR0lNTiIpKTsKICAgfQp9