ニンニク客-最長重複しないサブストリング(文字列)
文字列を指定すると、最も長いサブ列が見つかり、サブ列に重複する文字がないことが要求されます.
例:
文字列
一方、
入力フォーマット
入力には複数の行が含まれており、各行は終了子に遭遇するまで100100を超えない出力に対応します.行ごとに文字列
出力フォーマット
重複文字を含まない最長サブストリングの長さを出力します.
サンプル入力
サンプル出力
11
コードは次のとおりです.
例:
文字列
abcabcbb
の重複文字を含まない最長サブ列はabc
であり、長さは33である.一方、
bbbbbb
の重複文字を含まない最長サブ列はb
であり、長さは11である.入力フォーマット
入力には複数の行が含まれており、各行は終了子に遭遇するまで100100を超えない出力に対応します.行ごとに文字列
s
が順次入力されます.出力フォーマット
重複文字を含まない最長サブストリングの長さを出力します.
サンプル入力
hchzvfrkmlnozjk
サンプル出力
11
コードは次のとおりです.
import java.util.*;
/**
* hash , ( hash 0)
*
*/
public class Main{
static int num ;
static int hash[] = new int[150];
static int max = -1; //
public static void main(String [] args) {
Scanner in = new Scanner (System.in);
while(in.hasNext())//
{
// ,
Arrays.fill(hash, 0); //hash 0
num = 0; // 0
max = -1; //
//
String str = in.nextLine();
//
/** , ,
* , hash , 1,
* 。
* */
for(int i=0;i 1)
{
num = num-1; //
break;
}
}
else
break;
}
Arrays.fill(hash, 0); // ,
if(num > max)
{
max = num;
}
num = 0; // hash
}
System.out.println(max);
}
}
}