java - 使用递归求数组的最小值?

标签 java recursion minimum

好吧,所以我一直在努力理解 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

最佳答案

这是一个简化版本:

public static double min(double[] elements, int index) {

  if (index == elements.length - 1) {
    return elements[index];
  }

  double val = min(elements, index + 1);

  if (elements[index] < val)
    return elements[index];
  else
    return val;
}

关于java - 使用递归求数组的最小值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61021316/

相关文章:

java - 为什么从 Java 应用程序运行 MAKE 会导致出现错误消息?

java - Java < 15 和 >= 15 的不同 Nashorn 引擎?

java - 解析对java对象的soap xml响应

javascript - 如何避免 "maximum call stack size exceeded"异常?

linux - 在文件中递归查找字符串/正则表达式匹配项的最佳方法是什么? (UNIX)

用于验证输入中输入的最少字数的 JavaScript 脚本

java - 类型参数范围 - 未检查覆盖 : return type requires unchecked conversion

python - 使用递归从两个列表创建对列表

group-by - 在 Julia 中选择包含最小分组变量的 DataFrame 的行

c++ - 范围内的最低值