【问题标题】:Remove a 3x3 array from a 9x9 array从 9x9 数组中删除 3x3 数组
【发布时间】:2022-01-12 19:25:39
【问题描述】:

我正在尝试使用递归在 Java 中重新创建 sierpinski 地毯。

假设我有以下内容:

static int size  = 9;
static char[][] board = new char[size][size];

并且我想删除中间的 3x3 子数组,我将如何仅使用递归来执行此操作?

【问题讨论】:

    标签: java arrays recursion


    【解决方案1】:

    您不能从声明的数组中删除子数组,就像您声明它一样。但是你绝对可以复制它。我在下面的解决方案中添加了 cmets 供您填写。

    public char[][] copySubArray(char[][] orig, int colWidth, int rowHeight, int start_x, int start_y) {
      //do bounds testing on orig based on starting values and width/height
      char[][] copy = new char[colWidth][rowHeight];
      //copy values from orig to copy
      return copy;
    }
    

    【讨论】:

    • 嗯,你确定吗?我正在尝试仅使用递归来制作 sierpinski 地毯。我认为我不应该复制数组。这是一个二维字符数组,我正在尝试删除 9x9 中间的字符(3x3)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 2012-03-10
    • 1970-01-01
    • 2020-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多