gpt4 book ai didi

java - 二维递归

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:31:16 24 4
gpt4 key购买 nike

我正在为一个类实现一个二维数据结构。我想要的方法是“NxN”对象数组。

所以,

    Cell[][] dataStructure = new Cell[N][N];

我目前的问题是,我对递归很生疏。每个单元格都依赖于其左侧和上方单元格的输出来创建其输出。

Example of 2-D structure and how the outputs flow into the next cells

例子:

Assuming standard X,Y directions, I would like to be able to call a getOutputX method for a cell, Cell[X][Y], and it would recursively call getOutputX for Cell[X-1][Y] and getOutputY for Cell[X][Y-1] until it reaches the edge of the array. At this point, the outputs would propogate back through the array and return the desired output for the cell.

当我写这篇文章的时候,我理解得越来越多,而且我觉得我已经很接近了。任何有用的输入或提示将不胜感激。

我的具体问题是如何创建一个 getOutput 方法来从上面的单元格和所需输出左侧的单元格获取所需的输入。

最佳答案

算法很简单:

int getOutput(x, y) {
if (x == 0 || y == 0) {
return hardCodedInput(x, y);
}
int leftOutput = getOutput(x - 1, y);
int topOutput = getOutput(x, y - 1);
return logicGate(x, y).applyLogic(leftOutput, topOutput);
}

关于java - 二维递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13662903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com