Хорошо, поэтому я пытался обернуть голову вокруг рекурсии в Java, и я могу выполнять простые задачи, такие как сумма, обращение и т. Д., Но я изо всех сил пытался выполнить это упражнение:
Я пытаюсь найти минимальное число в массиве, используя рекурсию, но продолжаю получать ответ 0.0.
Мое понимание рекурсии состоит в том, что мне нужно увеличить один элемент, а затем указать базовый вариант, который завершит рекурсию. Я думаю, что запутался, когда мне нужно вернуть значение, и когда лучше всего вызвать метод рекурсии.
Это то, что я имею до сих пор:
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