leetcode-130. Surrounded Regions
来源:互联网 发布:北球电磁炉淘宝不能卖 编辑:程序博客网 时间:2024/06/14 04:23
这道题见鬼了,为什么我的代码中,dfs()函数里,注释掉的代码可以AC,但是现在的代码跑就是Runtime Error呢?
class Solution {public: void dfs(vector<vector<char>> &board, int row, int clo) { int m=board.size(), n = board[0].size(); /*if (board[row][clo]=='O'){ board[row][clo] = 'a'; if (row > 1) { dfs(board, row-1, clo); } if (clo > 1) dfs(board, row, clo-1); if (row <m-1) dfs(board, row+1, clo); if (clo < n-1) dfs(board, row, clo+1); }*/ if (row<0||row>=m || clo<0||clo>=n || board[row][clo]=='a') return; if (board[row][clo]=='O') { board[row][clo] = 'a'; dfs(board, row-1, clo); dfs(board, row, clo-1); dfs(board, row, clo+1); dfs(board, row+1, clo); } } void dfs_1(vector<vector<char>> &board, int row, int clo) { int m=board.size(), n = board[0].size(); if (row<1||row>=m-1 || clo<1||clo>=n-1) return; if (board[row][clo] == 'O'){ board[row][clo] = 'X'; } } void dfs_2(vector<vector<char>> &board, int row, int clo) { int m=board.size(), n = board[0].size(); if (board[row][clo]=='a'){ board[row][clo] = 'O'; if (row > 1) { dfs(board, row-1, clo); } if (clo > 1) dfs(board, row, clo-1); if (row <m-1) dfs(board, row+1, clo); if (clo < n-1) dfs(board, row, clo+1); } } void solve(vector<vector<char>>& board) { if (board.size()==0 || board[0].size()==0||board.size()==1 || board[0].size()==1 ||board.size()==2 || board[0].size()==2) return; int m=board.size(), n = board[0].size(); //cout<<0<<endl; for (int i=0; i<m; i++) { dfs(board, i, 0); dfs(board, i, n-1); } //cout<<"?"<<endl; for (int i=0; i<n; i++) { dfs(board, 0, i); dfs(board, m-1, i); } //cout<<1<<endl; for (int i=1; i<m-1; i++) { for (int j=1; j<n-1; j++) { if (board[i][j] == 'O'){ board[i][j] = 'X'; } //cout<<3<<endl; } //cout<<2<<endl; } /* cout<<1<<endl; for (int i=0; i<m; i++) { dfs_2(board, i, 0); dfs_2(board, i, n-1); } for (int i=0; i<n; i++) { dfs_2(board, 0, i); dfs_2(board, m-1, i); }*/ for (int i=0; i<m; i++) { for (int j=0; j<n; j++) { if (board[i][j] == 'a'){ board[i][j] = 'O'; } //cout<<3<<endl; } //cout<<2<<endl; } return; }};
0 0
- [LeetCode]130.Surrounded Regions
- LeetCode 130. Surrounded Regions
- [leetcode] 130.Surrounded Regions
- Leetcode 130. Surrounded Regions
- leetcode 130. Surrounded Regions
- leetcode 130. Surrounded Regions
- LeetCode 130. Surrounded Regions
- [LeetCode]130. Surrounded Regions
- LeetCode 130. Surrounded Regions
- LeetCode *** 130. Surrounded Regions
- Leetcode 130. Surrounded Regions
- [leetcode] 130. Surrounded Regions
- LeetCode-130.Surrounded Regions
- Leetcode 130. Surrounded Regions
- [LeetCode] 130. Surrounded Regions
- leetcode-- 130. Surrounded Regions
- 【LeetCode】130. Surrounded Regions
- Leetcode-130. Surrounded Regions
- nginx学习5——配置虚拟主机以,检查nginx配置的方法,windows下的配置
- MB9002字库地址
- Sublime Text 3(续)
- 优秀程序员不得不知道的20个位运算技巧
- Python学习之Flask-Mail异步邮件发送
- leetcode-130. Surrounded Regions
- 【ssm个人博客项目实战02】easy UI搭建后台管理界面
- 从功能实现到实现设计
- HTML中引入CSS的四种方法(前端css面试题)
- 在ubuntu上安装以及新建openframeworks工程
- IntelliJ IDEA 热部署插件 JRebel 安装激活及使用
- java.lang.NoClassDefFoundError: com.android.tools.fd.runtime.AppInfo
- int (*func(int)) (int *,int)
- Mysql 用户权限设置