当前位置: 首页 > 知识库问答 >
问题:

我怎么能得到最小数递归在java

柏高洁
2023-03-14

我的java代码中有一些错误。。我试图通过递归找到最小值。。我在上一个索引中的错误。。我注意到,如果上一个索引中的最小数字出现错误消息“java.lang.ArrayIndexOutOfBoundsException:8”。否则,如果最小值不在最后一个索引中,它将返回数组中找到的第一个最小值,并且从不检查其他值。

这是我的代码:

  public static int minimumElement(int [] nums,int i){      
    if (i < nums.length && nums[i] < nums[i+1] )
        return nums[i];
    else
        return minimumElement(nums, i=i+1);
  }

输出

数组中找到的第一个最小数的图像

最后一个索引中最小数字的图像

共有1个答案

叶淇
2023-03-14
if (i < nums.length && nums[i] < nums[i+1] )
    return nums[i];

比如说nums。长度=20i=19。然后nums[19 1]将是nums中的第21个元素,该元素在数组中不存在,因此您会得到错误。

 类似资料:
  • 问题内容: 我有一个树结构,其中每个都有一个父级和一个。每个节点都有一个,我想在其中选择进行查询,即该节点和所有父节点的标题。如何编写此查询? 单个标题的查询就是这样,但是就像我说的那样,我希望它扩展到整个父母分支。 干杯 尼克 问题答案: 您不能使用HQL进行递归查询。看到这个。如前所述,它甚至不是标准的SQL。您有两种选择: 编写特定于供应商的递归本机SQL查询 进行多个查询。例如: 我肯定会

  • 我试图找到最大的双倍数组,但困难的部分是,你必须把数组分成两个切片,但在那之后,你需要计算2个子切片的最大值,并返回2个值中的最大值,这需要使用递归。 你能给我一个如何开始的建议吗。

  • 我怎么可能只有前5个数字? 我尝试过不同的方法,比如把数字乘以10和x的幂,但是x似乎只影响小数点,设置为x小数点

  • 我有一个关于递归的小问题。下面的代码实际上是问题的答案到达终点的最小跳跃次数 当h==l和arr[l]==0时,函数返回sth,函数结束。否则,它将更新一个称为跳跃的变量,但我无法理解该语句。例如,当i=1或i=2时,跳跃的值是多少,依此类推。换句话说,我无法理解变量更新过程的意义。

  • 这个问题和这里问的一样。 给定一个硬币列表,它们的值(c1,c2,c3,... cj,...),以及总和i。找出硬币总数为i的最小数量(我们可以根据需要使用一种类型的硬币),或者报告不可能以总和为S的方式选择硬币。 我昨天刚刚被介绍到动态编程,我试图为它编写一个代码。 这里,C[i]是货币量“i”的最优解。可用的硬币有{c1,c2,…,cj,…}对于这个程序,我增加了递归限制,以避免最大递归深度超

  • 我用了Lombok,开放伪装和Spring Web 我有currencyClient接口: 和控制器: 和"http://localhost:1212/getAllCurrency"是不工作的原因链接转换成"**https://openexchangerates.org/api/historical/2012-07-10.json/appId**"我明白