我怎样才能在Java中递归地执行此操作

时间:2015-01-14 20:44:58

标签: java recursion 2d

如何制作递归算法以在2D数组中找到具有最高和的行号?

例如:

int[][] a = {
    {1,2,3,110},
    {4,5,6,9},
    {4,5,0,2}
};

该方法返回1,因为第1行的总和是所有其他行的最大总和。

1 个答案:

答案 0 :(得分:2)

这是基本算法,你可以弄清楚如何从中编码。

  1. 初始化变量以保持最大总和,为-1或非常小的东西。
  2. 初始化变量以保存具有最大总和的行的行号。也-1。
  3. 对于数组中的每一行,迭代每列并计算行的总和
  4. 将您刚刚在步骤3中计算出的总和与最大总和的变量进行比较。

    一个。如果新总和更大,则将最大总和设置为新总和。

    湾将行号变量设置为当前行索引+ 1(这给出了一个基于1的行号)

  5. 重复直到计算完所有行。
  6. 返回最大金额的行数
  7. 尝试编写一些代码来执行此算法,然后返回并寻求一些特定的帮助。