Javaでの再帰アルゴリズムに基づいて、次のコードを理解するのに苦労しています。私は理解していない、異なる値x
とy
は、お互いに呼び出すときに持っているものは何ですか?コード内でSystem.out.print()
を呼び出して正しい値を取得しようとしましたが、依然として助けになりません。Javaでの再帰の理解
public class RecursionExample
{
private static int[][] arr={
{3},
{7, 4},
{2, 4, 6},
{8 ,5, 9, 3}
};
public static int maxSum(int[][] graph, int x, int y, int sum) {
if (x == 3)
{
return sum+graph[x][y];
}
int max= Math.max(maxSum(graph, x+1, y, sum), maxSum(graph, x+1, y+1, sum));
sum += graph[x][y];
return sum+max;
}
public static void main(String[] ar)
{
System.out.println(maxSum(arr,0,0,0));
}
}
私はプログラミングのマスターではなく、私はJavaを学ぶことを試みています。どんな助けもありがとうございます。
宿題のヘルプ? :) – doomspork
いいえ何か新しいことを学ぶだけの好奇心。 –