dfs例題 130 被圍繞的區域

2021-10-21 16:59:11 字數 887 閱讀 5896

給你乙個 m x n 的矩陣 board ,由若干字元 'x' 和 'o' ,找到所有被 'x' 圍繞的區域,並將這些區域裡所有的 'o' 用 'x' 填充。

示例 1:

輸入:board = [["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'。如果兩個元素在水平或垂直方向相鄰,則稱它們是「相連」的。

示例 2:

輸入:board = [["x"]]

輸出:[["x"]]

編輯於just now

嵌入轉殖

code.cpp919位元組

class solution 

board[x][y] = 'a';

dfs(x-1, y, board);

dfs(x+1, y, board);

dfs(x, y-1, board);

dfs(x, y+1, board);

}void solve(vector>& board)

for(int i = 0; i < m; i++)

for(int i = 0; i < m; i++)else if(board[i][j]=='o')}}

}};

130 被圍繞的區域 DFS

難度 中等 題目描述 解題思路 這道題的思路有點巧妙 y 因為邊界上的o和它相鄰的o一定不會被標記,所以可以用逆向思維,先把所有邊界上的o和和它相鄰的o都標記出來,最後把標記還原,沒標記過的變成x 130.被圍繞的區域 2020 7 18 public void solve char board i...

130 被圍繞的區域 (dfs

被圍繞的區域 給定乙個二維的矩陣,包含 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 被圍繞的區域

題目 給定乙個二維的矩陣,包含 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 解釋 被圍繞的區間...