こんにちは私は以下のように再帰を使用しています。すべての一致する回答を返す再帰
public static int match(int[][] mat , int count)
{
boolean isComplete = true;
for(int i=0;i<mat.length;i++)
{
for(int j=0;j<mat[i].length;j++)
{
if(mat[i][j] == 0)
{
isComplete = false;
count++;
ArrayList<int[][]> mMats = getMats(mat, i, j);
for(int k=0;k<mMats.size();k++)
{
match(mMats.get(k), count);
}
}
}
}
if(isComplete)
{
System.out.println(count);
return count;
}
else
{
return 0;
}
}
私が達成したいのは、isCompleteブロックに到達すれば、その特定のカウントを返すべきです。私は他のカウントを望んでいない、今fuctionは多くのカウントを返すどのように私はこれを解決することができます。ありがとう。
この関数は、関数が再帰的に実行されるたびに 'if(isComplete)'が呼び出されるため、複数のカウントを出力しています。トータルカウントだけが必要な場合は、最初にマッチ関数を呼び出す場所から戻り値を出力することができます。 – Keiwan