博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Surrounded Regions
阅读量:4702 次
发布时间:2019-06-09

本文共 1042 字,大约阅读时间需要 3 分钟。

Q:

Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'.

A region is captured by flipping all 'O's into 'X's in that surrounded region .

For example,

X X X XX O O XX X O XX O X X

 

After running your function, the board should be:

X X X XX X X XX X X XX O X X A: 此题用bfs/dfs都可以解。 首先,从board的四周出发,dfs/bfs遍历,遇到O,作标记,例如'+'---这些O是没有被X包围的O 接着,遍历整个board,遇到O的,这些O是被X包围的O,改成X,遇到特殊标记的,改回O
int m,n;   void solve(vector
> &board) { // Start typing your C/C++ solution below // DO NOT write int main() function if(board.empty()||board[0].empty()) return; m = board.size(); n = board[0].size(); for(int j=0;j
>& board) { if(nrow>=m||nrow<0||ncol<0||ncol>=n||board[nrow][ncol]!='O') return; board[nrow][ncol] = '+'; dfs(nrow+1,ncol,board); dfs(nrow-1,ncol,board); dfs(nrow,ncol-1,board); dfs(nrow,ncol+1,board); }

  

转载于:https://www.cnblogs.com/summer-zhou/p/3334033.html

你可能感兴趣的文章
PowerDesigner导出表到word
查看>>
使用 string 的一些规则
查看>>
gnome-terminal的一些调整
查看>>
国内的黄金及现货黄金交易所
查看>>
建站手册-网站主机:主机性能
查看>>
DM9000驱动移植在mini2440(linux2.6.29)和FS4412(linux3.14.78)上的实现(deep dive)篇一
查看>>
电路分析
查看>>
unity开源移动库iTween使用完整Demo
查看>>
QT动态库和静态库使用
查看>>
Kali Linux安装
查看>>
抓取阻塞信息
查看>>
实验三
查看>>
Mysql优化配置
查看>>
Spring Boot 学习笔记(三)
查看>>
Mac下安装MySQL-python
查看>>
cat 命令(转)
查看>>
ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法
查看>>
在远程机器上跑PowerShell脚本
查看>>
我的Java设计模式-策略模式
查看>>
C# 报表接口样例,简单实用
查看>>