給定乙個二維的矩陣,包含 'x' 和 'o'(字母 o)。
找到所有被 'x' 圍繞的區域,並將這些區域裡所有的 'o' 用 'x' 填充。
示例:根據題目意思可以確定這是一道圖的題,bfs或dfs可以解決。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'進行dfs就行了,給他做一下特殊的標記,然後把圖中的'o'替換為'x',再把標記替換為'o'就行了。
char b;
public void solve(char board) }}
// 將剩下的o變為x,b變為o
for (int i = 0; i =b.length || j<0 || j>=b[i].length || b[i][j] == 'x' || b[i][j] == 'b')
return ;
int dx = ;
int dy = ;
b[i][j] = 'b'; // 標記為b
for (int k = 0; k }
LeetCode130 被圍繞的區域
給定乙個二維的矩陣,包含 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解釋 被圍繞的區間不會存在於...
Leetcode130 被圍繞的區域
給定乙個二維的矩陣,包含 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解釋 被圍繞的區間不會存在於...
leetcode 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解釋 被圍繞的區間不會存在於...