我正在尝试将洪水填充应用于特定问题。我很难理解如何使用帮助函数创建变量,所以我在整个递归过程中都保留了它。
我已经看到有一个关于它的线程,虽然我不知道如何应用它以供我自己使用。
这是我到目前为止写的代码:
如何创建 k 变量以保持不变?
public static int[][] fill(int[][] map, int i, int j, int color) {
int[][] ans = null;
if ((i<map.length)&&(i>0)&&(j<map.length)&&(j>0))
{
if ((k!=map[i][j]))
{
map[i][j]=color;
}
}
fill(map,i-1,j,color);
fill(map,i+1,j,color);
fill(map,i,j-1,color);
fill(map,i,j+1,color);
return ans;
}
public static void fill(int[][] map, int i, int j, int color,int k)
k=map[i][j]
可以说这是我的数组:
4, 1, 2, 2
4, 4, 3, 1
1, 4, 4, 4
1, 4, 0, 2
并且我希望填充所有值为 4 的索引。我希望 k 获得 4 的值,因此我可以使用 k 在每个索引中进行比较。