さて、私はJavaで再帰に頭を悩ませようとしていて、合計や逆転などの簡単なタスクを実行できますが、この演習を行うのに苦労しています。
再帰を使用して配列内の最小数を見つけようとしていますが、0.0の答えを取得し続けます。
再帰についての私の理解は、1つの要素をインクリメントしてから、再帰を終了する基本ケースを提供する必要があるということです。値を返す必要があるときと、再帰メソッドを呼び出すのが最適なときは、混乱していると思います。
これは私がこれまでに持っているものです:
public static double findMin(double[] numbers, int startIndex, int endIndex) {
double min;
int currentIndex = startIndex++;
if (startIndex == endIndex)
return numbers[startIndex];
else {
min = numbers[startIndex];
if (min > numbers[currentIndex]) {
min = numbers[currentIndex];
findMin(numbers, currentIndex, endIndex);
}
return min;
}
} //findMin