所以我有一个 2darray 的颜色。颜色由数字表示。我制作了一个 dfs,目前只检查数字 1,它是红色的。我不认为我的代码正确。我有一个获取邻居,它确实在它所在的节点周围获取邻居并将它们添加到列表中。board 是整数数组,如果节点已被访问,visited 是一个 true 或 false 数组。这是我的dfs:
private int dfs(int startRow, int startCol, int[][]boards, boolean[][] visitedd){
int f;
int t;
visitedd[startRow][startCol] = true;
for(; startRow < q; startRow++){
for(; startCol < q; startCol++){
if(boards[startRow][startCol] == 1 && visitedd[startRow][startCol] == false){
g+=1;
f = startRow;
t = startCol;
dfs(f, t, boards, visitedd);
}
}
}
return g;
我不确定如何使用获取邻居正确遍历到下一个红色。