給定乙個二維的矩陣,包含 『x』 和 『o』(字母 o)。這道題思路比較巧妙,首先遍歷矩陣裡邊界的每個元素,若其為『o』,則從其開始遍歷上下左右4個方向,將其變為『#』,最後剩下的『o』就是沒有連通外部邊界的目標『o』,將其變為『x』,其餘『#』恢復為原來的『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』。如果兩個元素在水平或垂直方向相鄰,則稱它們是「相連」的。
/**
* @param board
* @return do not return anything, modify board in-place instead.
*/var
solve
=function
(board)}}
function
d(i,j)
for(
let i=
0; i)else
if(board[i]
[j]===
'o')}}
};
130 被圍繞的區域
題目 給定乙個二維的矩陣,包含 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 解釋 被圍繞的區間...
130 被圍繞的區域
1.所有包含o的邊界上的的格仔,以及它們的鄰居o都不會被包圍,暫時地將這些o標記,通過深度優先搜尋查詢這些o,最後將所有未被標記的o轉換為x class solution def solve self,board list list str none do not return anything,m...
130 被圍繞的區域 DFS
難度 中等 題目描述 解題思路 這道題的思路有點巧妙 y 因為邊界上的o和它相鄰的o一定不會被標記,所以可以用逆向思維,先把所有邊界上的o和和它相鄰的o都標記出來,最後把標記還原,沒標記過的變成x 130.被圍繞的區域 2020 7 18 public void solve char board i...