递归地在2d数组中有多少个不同的值,java

时间:2016-12-23 07:52:13

标签: java arrays recursion

我一直在努力解决这个问题很长一段时间而且我不能......所以我在这里向你伸出援助之手。 我有一个预制方法,可以重新获得一个二维数组并返回整数。 数组中的每个数字代表一种颜色。数字范围在0到9之间。 我的工作是递归地返回数组中有多少不同的“颜色”。 它允许使用我自己的其他方法来帮助,但主要的想法应该是递归的。 *如果我想使用预制方法作为帮助方法,我必须使用重载。

如果有什么东西被误解,请告诉我,我会解决它(英语不是我的第一语言)。 提前谢谢!

1 个答案:

答案 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);     
 }
}