我一直在努力解决这个问题很长一段时间而且我不能......所以我在这里向你伸出援助之手。 我有一个预制方法,可以重新获得一个二维数组并返回整数。 数组中的每个数字代表一种颜色。数字范围在0到9之间。 我的工作是递归地返回数组中有多少不同的“颜色”。 它允许使用我自己的其他方法来帮助,但主要的想法应该是递归的。 *如果我想使用预制方法作为帮助方法,我必须使用重载。
如果有什么东西被误解,请告诉我,我会解决它(英语不是我的第一语言)。 提前谢谢!
答案 0 :(得分:1)
你可以简单地创建一个递归函数,它将2个数组的指数作为参数并将结果保存在某个地方。 像
这样的东西public void rec(int i, int j)
{
// some base condition
if (i <= width && j <= height)
{
// do some calculations for example:
result = result + diff(a[i][j]);
// something like this that will simulate the iteration like in for loop
if (i == width && j < height) rec(0, j + 1); else rec(i + 1, j);
}
}