leetcode 130被圍繞的區域 回溯演算法
問題描述
對不起,我是fw,看官方解答吧
class Solution {
public:
int n, m;
void dfs(vector<vector<char>>& board, int x, int y) {
if (x < 0 || x >= n || y < 0 || y >= m || board[x][y] != 'O') {
return;
}
board[x][y] = 'A';
dfs(board, x + 1, y);
dfs(board, x - 1, y);
dfs(board, x, y + 1);
dfs(board, x, y - 1);
}
void solve(vector<vector<char>>& board) {
n = board.size();
if (n == 0) {
return;
}
m = board[0].size();
for (int i = 0; i < n; i++) {
dfs(board, i, 0);
dfs(board, i, m - 1);
}
for (int i = 1; i < m - 1; i++) {
dfs(board, 0, i);
dfs(board, n - 1, i);
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (board[i][j] == 'A') {
board[i][j] = 'O';
} else if (board[i][j] == 'O') {
board[i][j] = 'X';
}
}
}
}
};
相關文章
- LeetCode-130-被圍繞的區域LeetCode
- 130被圍繞的區域
- 130. 被圍繞的區域
- LeetCode刷題記112-130. 被圍繞的區域LeetCode
- Python實戰操作:解題之被圍繞的區域Python
- LeetCode演算法訓練-回溯總結LeetCode演算法
- 【LeetCode回溯演算法#08】遞增子序列,鞏固回溯演算法中的去重問題LeetCode演算法
- 「leetcode」78. 子集【回溯演算法】詳解!LeetCode演算法
- 力扣(LeetCode)130力扣LeetCode
- 回溯演算法 LeetCode 131 分割回文子串演算法LeetCode
- leetcode.回溯演算法能解決什麼問題?LeetCode演算法
- leetcode:全排列(java回溯)LeetCodeJava
- 「leetcode」93.復原IP地址【回溯演算法】詳解!LeetCode演算法
- 回溯演算法演算法
- canvas 圍繞中心旋轉Canvas
- 【LeetCode回溯演算法#07】子集問題I+II,鞏固解題模板並詳解回溯演算法中的去重問題LeetCode演算法
- LeetCode HOT 100:子集(簡單易懂的回溯)LeetCode
- LeetCode通關:連刷十四題,回溯演算法完全攻略LeetCode演算法
- LeetCode46 回溯演算法求全排列,這次是真全排列LeetCode演算法
- 演算法-回溯演算法演算法
- matlab 繪製置信範圍_fill(繪製其區間形成的區域)Matlab
- leetcode題解(遞迴和回溯法)LeetCode遞迴
- leetcode:組合總和II(回溯java)LeetCodeJava
- 每日一題之拉低通過率 回溯演算法 leetcode 51 N皇后每日一題演算法LeetCode
- Golang的值型別和引用型別的範圍、儲存區域、區別Golang型別
- canvas 圖形圍繞中心旋轉Canvas
- [Leetcode]303.區域和檢索&&304.二維區域和檢索LeetCode
- 圍繞ifelse與業務邏輯的那些梗
- 產品管理圍繞的五個核心問題
- 圍繞DOM元素節點的增刪改查
- 常用演算法之回溯法演算法
- 百度地圖獲取多行政區域圍欄地圖
- 刷題總結——回溯演算法演算法
- 回溯演算法介紹以及模板演算法
- 【演算法框架套路】回溯演算法(暴力窮舉的藝術)演算法框架
- 什麼是Hyperledger?Linux如何圍繞英特爾的區塊鏈專案構建開放平臺?Linux區塊鏈
- LeetCode 55. 跳躍遊戲 ( 回溯 dp 貪心LeetCode遊戲
- Omdia:2022年圍繞5G FWA的市場戰略