130. Surrounded Regions
来源:互联网 发布:淘宝同款图片怎么处理 编辑:程序博客网 时间:2024/05/22 01:29
//迭代层数过多导致错误class Solution {public: void find_pool(int x,int y,vector<vector<char>>& board,int m,int n) { board[x][y]='A'; int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}}; for(int i=0;i<4;i++) { int dx=x+dir[i][0]; int dy=y+dir[i][1]; if(dx>=0&&dy>=0&&dx<m&&dy<n&&board[dx][dy]=='O') find_pool(dx,dy,board,m,n); } } void solve(vector<vector<char>>& board) { if(board.size()==0) return ; int m=board.size(),n=board[0].size(); for(int i=0;i<n;i++) { if(board[0][i]=='O') find_pool(0,i,board,m,n); if(board[m-1][i]=='O') find_pool(m-1,i,board,m,n); } for(int i=1;i<m-1;i++) { if(board[i][0]=='O') find_pool(i,0,board,m,n); if(board[i][n-1]=='O') find_pool(i,n-1,board,m,n); } for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { if(board[i][j]=='O') board[i][j]='X'; if(board[i][j]=='A') board[i][j]='O'; } } }};
//12msclass Solution {public: void find_pool(int x,int y,vector<vector<char>>& board) { board[x][y]='A'; if(y+1<board[0].size()-1&&board[x][y+1]=='O') find_pool(x,y+1,board); if(y-1>=0&&board[x][y-1]=='O') find_pool(x,y-1,board); if(x+1<board.size()-1&&board[x+1][y]=='O') find_pool(x+1,y,board); if(x-1>=0&&board[x-1][y]=='O') find_pool(x-1,y,board); } void solve(vector<vector<char>>& board) { if(board.size()==0) return ; int m=board.size(),n=board[0].size(); for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { if((i==0||j==0||i==m-1||j==n-1)&&board[i][j]=='O') find_pool(i,j,board); } } for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { if(board[i][j]=='O') board[i][j]='X'; else if(board[i][j]=='A') board[i][j]='O'; } } }};
//12msclass Solution {public: void find_pool(int x,int y,vector<vector<char>>& board,int m,int n) { board[x][y]='A'; int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}}; for(int i=0;i<4;i++) { int dx=x+dir[i][0]; int dy=y+dir[i][1]; if(dx>0&&dy>0&&dx<m-1&&dy<n-1&&board[dx][dy]=='O') find_pool(dx,dy,board,m,n); } } void solve(vector<vector<char>>& board) { if(board.size()==0) return ; int m=board.size(),n=board[0].size(); for(int i=0;i<n;i++) { if(board[0][i]=='O') find_pool(0,i,board,m,n); if(board[m-1][i]=='O') find_pool(m-1,i,board,m,n); } for(int i=1;i<m-1;i++) { if(board[i][0]=='O') find_pool(i,0,board,m,n); if(board[i][n-1]=='O') find_pool(i,n-1,board,m,n); } for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { if(board[i][j]=='O') board[i][j]='X'; if(board[i][j]=='A') board[i][j]='O'; } } }};
0 0
- [LeetCode]130.Surrounded Regions
- LeetCode 130. Surrounded Regions
- [leetcode] 130.Surrounded Regions
- 130. Surrounded Regions
- Leetcode 130. Surrounded Regions
- 130. Surrounded Regions
- 130. Surrounded Regions
- leetcode 130. Surrounded Regions
- leetcode 130. Surrounded Regions
- LeetCode 130. Surrounded Regions
- 130. Surrounded Regions
- [LeetCode]130. Surrounded Regions
- LeetCode 130. Surrounded Regions
- 130. Surrounded Regions
- LeetCode *** 130. Surrounded Regions
- 130. Surrounded Regions
- Leetcode 130. Surrounded Regions
- [leetcode] 130. Surrounded Regions
- android面试经典(6)
- c++作业3
- [前端 2]常用的JQuery和Dom页面取值与赋值
- 关于Opencv编程入门的基础知识点
- centos 安装htop
- 130. Surrounded Regions
- bzoj2330【SCOI2011】糖果
- hihoCoder 1015 kmp算法
- 质数筛 51Nod1441 士兵的数字游戏
- ViewPager显示本地或网络图片的封装
- 4.1 左值到右值的转换 中英文对照(C++标准中文版 ISO/IEC 14882:2014)
- 决策树算法:ID3和C4.5
- HDU 5662 YJQQQAQ and the function
- HDU 1042 N! (大数乘)