給乙個二維的矩陣,包含 'x' 和 'o', 找到所有被 'x' 圍繞的區域,並用 'x' 填充滿。思路樣例給出二維矩陣:
x x x x
x o o x
x x o x
x o x x
把被 'x' 圍繞的區域填充之後變為:
x x x x
x x x x
x x x x
x o x x
標籤union find 寬度優先搜尋
先從外圍開始,身處外圍的 o 是無法被包圍的,同理,與乙個無法被包圍的 o 相連的 o 也是無法被包圍的。
code
class solution
int sizecol = board[0].size();
if (sizecol <= 0)
// 從外圍開始
int i = 0, j = 0;
for (j = 0; j < sizecol; j++)
// 下圍
if (board[sizerow - 1][j] == 'o')
}for (i = 0; i < sizerow; i++)
// 右圍
if (board[i][sizecol - 1] == 'o')
}for (i = 0; i < sizerow; i++)
else if (board[i][j] == 'o') }}
}void dfs(vector>& board, int i, int j)
if (j > 0 && board[i][j - 1] == 'o')
if (i < board.size() - 1 && board[i + 1][j] == 'o')
if (j < board[0].size() - 1 && board[i][j + 1] == 'o') }}
};
LintCode 477 被圍繞的區域
題意 給乙個二維的矩陣,包含 x 和 o 找到所有被 x 圍繞的區域,並用 x 填充滿。樣例 給出的二維矩陣 x x x x x o o x x x o x x o x x 把被 x 圍繞的區域填充之後變為 x x x x x x x x x x x x x o x x 解題思路 1 用bfs確定連...
兩次過 Lintcode 477 被圍繞的區域
給乙個二維的矩陣,包含 x 和 o 找到所有被 x 圍繞的區域,並用 x 替換其中所有的 o 樣例 1 輸入 x x x x x o o x x x o x x o x x 輸出 x x x x x x x x x x x x x o x x樣例 2 輸入 x x x x x o o x x o o...
477 被圍繞的區域
中文english 給乙個二維的矩陣,包含 x 和 o 找到所有被 x 圍繞的區域,並用 x 替換其中所有的 o 樣例 1 輸入 x x x x x o o x x x o x x o x x 輸出 x x x x x x x x x x x x x o x x樣例 2 輸入 x x x x x o...