給定乙個二維的矩陣,包含 『x』 和 『o』(字母 o)。
找到所有被 『x』 圍繞的區域,並將這些區域裡所有的 『o』 用 『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 o x x
被圍繞的區間不會存在於邊界上,換句話說,任何邊界上的 『o』 都不會被填充為 『x』。 任何不在邊界上,或不與邊界上的 『o』 相連的 『o』 最終都會被填充為 『x』。如果兩個元素在水平或垂直方向相鄰,則稱它們是「相連」的。
深度優先搜尋
對棋盤進行遍歷,凡是與邊界o相連的o不會被變成x,所以對邊界位置進行深度優先搜尋。找到邊界o, 對邊界o四個方向進行搜尋,所有能直達邊界o相連的o賦為#。
最後將棋盤上為#的位置變為o
class
solution}}
for(
int i =
0; i < board.length; i++)}
}public
void
dfs(
char
board,
int i,
int j),,
,}; board[i]
[j]=
'#';
for(
int[
] dir : dirs)}}
}
演算法練習 被圍繞的區域
題目描述 給定乙個二維的矩陣,包含 x 和 o 字母 o 找到所有被 x 圍繞的區域,並將這些區域裡所有的 o 用 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 o x x 解釋 被圍繞的...
被圍繞的區域
被圍繞的區域 給乙個二維的矩陣,包含 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 class unionfi...
被圍繞的區域
給定乙個二維的矩陣,包含 x 和 o 字母 o 找到所有被 x 圍繞的區域,並將這些區域裡所有的 o 用 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 o x x解釋 被圍繞的區間不會存在於...