Find all rectangles
public class Main {
public List<List<Integer>> findMultipleRectangle(int[][] board)
{
List<List<Integer>> res = new ArrayList<>();
for(int i = 0; i< board.length; i++)
{
for (int j = 0; j< board[0].length; j++)
{
if(board[i][j] == 0)
{
List<Integer> rectangle = new ArrayList<Integer>();
rectangle.add(i);
rectangle.add(j);
board[i][j] = 1;
int topLeftX = i;
int topLeftY = j;
while(topLeftX < board.length && board[topLeftX][j] == 0)
{
board[topLeftX][j] = 1;
topLeftX++;
}
while(topLeftY < board[0].length && board[i][topLeftY] == 0)
{
board[i][topLeftY] = 1;
topLeftY++;
}
rectangle.add(topLeftX);
rectangle.add(topLeftY);
res.add(rectangle);
}
}
}
return rectangle;
}
}Last updated