lintcode 477 被圍繞的區域

2022-03-29 13:56:40 字數 993 閱讀 3787

給乙個二維的矩陣,包含 '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...