オファーを受賞(Javaバージョン)第十タイトル

パブリッククラスClass112 {
パブリックブールfindPath(CHAR []行列、INT列、int型COLS、CHAR [] STR){
ブールアンカー[] =新しいブール[matrix.length]。
以下のために(; I <行; INT iが0 = I ++){
ため(INT J = 0; J <COLS; J ++){
int型のカウント= 0;
IF(findPathMain(マトリックス、行、列、行、colsの、STR、カウント、アンカー)){
trueを返します。
}
}
}
falseを返します。
}
パブリックブールfindPathMain(CHAR []行列、INT行、INT COL、INT行、INT colsの、CHAR [] STR、INTカウント、ブール[]アンカー){
int型のインデックス=行* colsの+ COL。
IF(!行<0 ||行> =行|| COL <0 || COL> = COLS ||行列[インデックス] = STR [カウント] ||アンカー[インデックス] == TRUE){
戻り偽。
}
IF(カウント== str.length - 1){
trueを返します。
}
アンカー[インデックス] = TRUE;

findPathMain(マトリックス、行、COL-1、行、colsの、STR、カウント+ 1、アンカー)(もし
|| findPathMain(マトリックス、行、列+ 1、行、colsの、STR、カウント+ 1、アンカー)
|| findPathMain(マトリックス、行1、列、行、colsの、STR、カウント+ 1、アンカー)
|| findPathMain(マトリックス、行+ 1、列、行、colsの、STR、カウント+ 1、アンカー)){
trueを返します;
}
アンカー[インデックス] = FALSE;
falseを返します。
}


公共ボイドTEST1(){
CHAR []マトリックス= "ABTGCFCSJDEH" .toCharArray()。
int型の列= 3;
INT COLS = 4。
.toCharArray "abfb" CHAR [] STR =();
(!findPath(マトリックス、行、colsの、STR))の場合
のSystem.out.println( "Test1とは、渡されました");
そうしないと
System.out.println( "Test1を失敗しました。");
}
公共ボイドTEST2(){
CHAR []マトリックス= "ABTGCFCSJDEH" .toCharArray()。
int型の列= 3;
INT COLS = 4。
CHAR [] STR = "ABFB" .toCharArray()。
(!findPath(マトリックス、行、colsの、STR))の場合
のSystem.out.println( "Test2を渡されたが、");

のSystem.out.println( "Test2を失敗しました。");
}

パブリック静的無効メイン(文字列[] args){
// TODO自動生成方法スタブ
Class11 C =新しいClass11()。
c.test1();
c.test2();
}

}

おすすめ

転載: www.cnblogs.com/zhuozige/p/12444168.html