java - 在 n 个二维数组中搜索

标签 java arrays algorithm loops

帮助实现对 n 个二维数组的搜索。更具体: 如果我有 6 个表,我将它们放入一个二维数组中。我将提供一个值,比如 10,就像这里的 val=0 一样。我需要从这些表中搜索所有组成 10 的组合值。将使用所有这些表中的值计算该值。

public static int Main() {
  int[] a = {2,1,4,7};
  int[] b = {3,-3,-8,0};
  int[] c = {-1,-4,-7,6};
  int sum;
  int i; int j;  int k;
  int val = 0;
  for(i = 0; i < 4; i++) {
    for(j = 0;j<4;j++) {
      for(k = 0;k<4;k++) {
        sum = a[i]* b[j]* c[k];

        if(sum == val)
          System.out.printf("%d  %d  %d\n",a[i],b[j],c[k]);
      }
    }
  }
}

最佳答案

以下是您需要的代码:

(解决方案包括递归,使您的问题变得更容易)

private ArrayList numbers = new ArrayList();

public void CalculateSum(int tableNumber)
{
    if(!Tables.isLast(tableNumber))
    {
        int[][] a = Tables.Get(tableNumber);
        for(int y = 0; y < a.length; y++)
        {
            for(int x = 0; x < a[y].length; x++)
            {
                numbers.add(a[y][x]);
                CalculateSum(tableNumber + 1);
                numbers.remove(tableNumber - 1);
            }
        }
    }else
    {
        int[][] a = Tables.Get(tableNumber);
        for(int y = 0; y < a.length; y++)
        {
            for(int x = 0; x < a[y].length; x++)
            {
                if((sum(numbers) + a[y][x]) == checkValue)
                {
                    PrintNumbers(numbers);
                    System.out.print(a[y][x]);
                    System.out.println();
                }
            }
        }
    }        
}

您需要实现一个类('Tables' 作为我的解决方案)写入方法:

boolean isLast(int tableNo): 检查给定的表是否是你的表列表的最后一个表

int[][] Get(int tableNo):获取指定索引的表

此外,方法 sum 应该对数字 ArrayList 中的值求和。 PrintNumbers 方法应连续打印数字 ArrayList 中的数字。 checkValue 是您要检查的值。

希望这对您有所帮助....

如果您想对此算法进行任何说明,请写信。

关于java - 在 n 个二维数组中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6026472/

相关文章:

java - 当数组足够时使用 Java List

algorithm - 将文件树转换为另一个文件树的最短操作序列

algorithm - 排列游戏 - 第二个输入案例 - 解释

Java UDP 数据包大小对齐

java - Sonar CPD 检测 block 重复

java - "WITH"SQL 查询不工作java

java - Spring RedirectView 在不同的 tomcat 安装中表现不同

sql - 从 JSONB 字段中正确提取 JSON 数组

javascript - 在 JavaScript 数组中搜索并提取字符串

java - 欧拉计划问题 18 无法到达最后一个元素