我試圖在特定問題上應用洪水填充。我很難理解如何用一個幫助函數創建一個變量,所以我在整個遞歸過程中都保留它。
我已經看到有一個關於它的線程,雖然我不知道如何將它應用於我自己的使用。在遞歸中使用相同的變量
這是我寫到目前爲止代碼:
如何創建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來比較每個索引。
'k'定義在哪裏?請張貼一些編譯的代碼,最好是[SSCCE](http://sscce.org/)。 –
我不知道你的需求(也許你可以更好地解釋),但是如果你想要一個變量可用於一個函數的所有遞歸調用,那意味着你需要一個額外的參數。 – fegemo
你在說什麼?這是StackOverflow的另一個問題嗎? –