行列が「いっぱい」かどうかを返すブール値メソッドを作成しようとしています
(フル サイトは、隣接する (左、右、上、下) オープン サイトのチェーンを介して、一番上の行のオープン サイトに接続できるオープン サイトです。)
グリッドの場合、true = オープン サイト
私はまだ再帰を学んでおり、迷路を解くためにDFSが使用されていることをどこかで読んだので、そのルートを試しています...
現在、そのスポットが訪問されたかどうかを追跡するために、同じサイズのマトリックスを追加しました。私は方法を見つけようとしています。最初の場所が与えられたら、再帰を使用して一番上の行にトラバースできるかどうかを確認します..
私はこれが間違っていることを知っています、誰かの助けが私を導くことができます. 私は今立ち往生していて、ちょっとイライラしています。これは私がこれまでに得たものです
private boolean [][] grid;
private boolean [][] visited;
private int size;
public boolean isFull(int i, int j)
{
int row = i-1;
int col = j-1;
//base cases
if(row < 0 || row > size || col < 0 || col > size) {
throw new IndexOutOfBoundsException("Out of Bounds Exception");
}
if(row == 0) {
return true;
}
if(visited[row][col]) {
return false;
}
visited[row][col] = true;
//top
isFull(row, col-1);
//bot
isFull(row, col+1);
//left
isFull(row-1, col);
//right
isFull(row+1, col);
return false;
}