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

2024-04-25

好吧,所以我一直在尝试用 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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用递归求数组的最小值? 的相关文章

随机推荐

  • 使用帮助库管理器和 WiX 安装帮助

    我试图通过使用 WiX 运行 Sandcastle 帮助文件生成器在构建我的 Sandcastle 项目后创建的 HelpLibraryManagerLauncher 将我自己的帮助文件添加到 Visual Studio 2010 的帮助库
  • 确保始终捕获异常

    C 中的异常不需要被调用函数捕获 没有编译时错误 因此 是否使用 try catch 来捕获它们取决于开发人员的判断 与 Java 不同 有没有一种方法可以确保调用函数始终使用 try catch 捕获抛出的异常 No See 务实地看待异
  • Google PubSub / Gmail Webhook:发送电子邮件时始终从 PubSub 接收多个 POST 请求

    我设置了一个 webhook 它使用 Google Cloud PubSub API 和 Java 中的 Gmail API 监听和处理 Gmail 中收件箱和发送文件夹中的更改 我看到的问题是 当我向另一个用户发送消息时 PubSub 似
  • 我可以在调用者处将函数参数默认为 __FILE__ 的值吗?

    在 C 中 我可以为函数提供一个默认参数吗 PRETTY FUNCTION FILE and LINE 在调用者处定义 而不是在不使用宏的情况下在头文件中提供默认值的地方 您不能 但您可以通过附加宏来实现此行为 例如 DEFINE THRO
  • 条件合并表

    我有 2 张桌子 Time X1 8 1 2013 56 9 1 2013 14 10 1 2013 8 11 1 2013 4 12 1 2013 78 Time X2 8 1 2013 42 9 1 2013 44 10 1 2013
  • 使用 Tesseract OCR 和 python 进行数字识别

    我使用 Tesseract 和 python 读取数字 从能量计 除了数字 1 之外 一切都运行良好 Tesseract 无法读取 1 数字 This is the picture I send to tesseract tesseract
  • 仅调整 matplotlib 中两个子图之间的距离

    我有 3 个子图 3 行和 1 列 我们可以用fig subplots adjust hspace 0 2 调整子图之间的距离 这将改变所有情况下子图之间的距离 地块 1 311 和地块 2 312 以及地块 2 312 和地块 3 313
  • R 堆积百分比频率直方图以及基于聚合数据的百分比

    I believe my question is very similar to this post https stackoverflow com questions 34903368 how to center stacked perc
  • sqlite 语句中返回的行数

    有没有简单的方法来获取 sqlite 语句返回的行数 我不想首先经历执行 COUNT 的过程 谢谢 每次致电时sqlite step 将变量加 1 如果你想要行数提前 那么就没有简单的方法了
  • 当对象的状态发生变化时触发Java中的事件

    我有一个 Java 对象 其状态随着时间的推移而变化 当对象中的某个字段达到特定值时 我希望触发外部事件 我知道 Swing 通过监听器处理这种模式 并且我在这个项目中使用 Swing 但我不确定哪种监听器适用于这种情况 用户不会更改对象的
  • Excel VBA 自动生成电子表格

    我和我的朋友目前有一个主电子表格 我需要定期将其分解为较小的电子表格 这曾经是一个手动过程 但我想将其自动化 我在 VBA 中创建了一个三步解决方案 它将帮助我完成以下任务 将相关过滤器应用于电子表格 将过滤后当前可见的数据导出到新电子表格
  • Sphinx——结合自动模块和自动类

    除非我错过了什么 斯芬克斯的automodule只会记录模块的成员 而不记录该模块中定义的类的属性 有办法吗自动地得到的行为automodule and autoclass以这样的方式组合 我可以自动获取模块成员的文档and在该模块中找到的
  • java - Google Play 游戏服务

    Google Play 游戏服务正在测试 public class MainActivity extends BaseGameActivity public void onCreate Bundle savedInstanceState s
  • 如何在javascript中将两个大数相加?

    我有两个文本框 每个将接受最多千位数字的输入 现在我想将这两个数字相加 我的问题是我应该使用什么数据类型来存储结果 我已经尝试过这个 但我得到的结果是指数形式的 如何存储结果并显示 这是另一种解决方案 因为它更快 更干净 function
  • Kendo 网格列宽度 + 可滚动

    我正在尝试从 JavaScript 绑定到可滚动剑道网格 但在列宽方面遇到了一些问题 这fiddle http jsfiddle net mnTGm 1 演示了问题 问题末尾的代码 我在 html 中指定标头并向其中一个标头添加宽度 然后
  • 为什么属性初始值设定项不调用自定义设置器?

    来自Kotlin 文档 https kotlinlang org docs reference properties html getters and setters 允许自定义设置器 class Test var stringRepres
  • 新的 ASP.NET Web 应用程序:有一个可以执行某些操作的登录按钮 - 但是,神奇之处在哪里呢?

    请原谅我对这个问题有点缺乏 ASP NET 知识 场景如下 我正在 VS2010 中玩 我创建了一个新的ASP NET Web Application 在 Visual C Web 模板下 没什么特别的 只是一个基本的网络应用程序 没有花哨
  • Django 单元测试:AttributeError:“WSGIRequest”对象没有属性“user”

    运行测试时 我输出以下错误 用户 self request user AttributeError WSGIRequest 对象没有属性 user 我尝试过从MIDDLEWARE to MIDDLEWARE CLASSES反之亦然 目前 我
  • 如何从 Oracle 中的日期中减去小时数,以便它也影响当天

    我正在尝试从 Oracle 中减去日期 这样它甚至也会影响这一天 例如 如果 时间戳是 01 June 2015 00 小时 如果我减去 2 小时 我希望能够转到 31 May 2014 22 小时 I tried to char sysd
  • 使用递归求数组的最小值?

    好吧 所以我一直在尝试用 Java 来理解递归 我可以完成简单的任务 例如求和 反转等 但我一直在努力做这个练习 我试图使用递归找到数组中的最小数字 但始终得到 0 0 的答案 我对递归的理解是 我需要增加一个元素 然后提供一个结束递归的基