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

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

Surrounded Regions

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.

样例
X X X XX O O XX X O XX O X X

After capture all regions surrounded by 'X', the board should be:

X X X XX X X XX X X XX O X X 代码如下,这次用的java因为c++其实并没有看过多少,只了解一点C的。 思路就是从边界的‘O’开始搜索与其相连的‘O’,并标记, 直到所有边界上的‘O’都被搜索过,没有被标记的就是被包围的。 本来想用BFS的,但是刚写到方法名想到其实不用bfs就能搞定,递归的出口也很明显,于是。。
 
1 public class Solution { 2     /** 3      * @param board a 2D board containing 'X' and 'O' 4      * @return void 5      */ 6     int flag[][]= new int[1000][1000]; 7     int x = 0; 8     int y = 0; 9     public void surroundedRegions(char[][] board) {10         // Write your code here11         this.x = board.length;12         if(board.length == 0) return ;13         this.y = board[0].length;14         for(int i = 0; i
=0 && j
=0 && flag[i][j] == 0 && board[i][j] == 'O' ) {34 this.flag[i][j] = 1;35 bfs(board,i+1,j);36 bfs(board,i,j+1);37 bfs(board,i-1,j);38 bfs(board,i,j-1);39 }40 }41 }
View Code

 

转载于:https://www.cnblogs.com/FJH1994/p/4999357.html

你可能感兴趣的文章
计算机基础——指令与程序
查看>>
用三段 140 字符以内的代码生成一张 1024×1024 的图片<转载>
查看>>
HTML CSS
查看>>
sqlserver存储过程中SELECT 与 SET 对变量赋值的区别
查看>>
【分享】开源富文本编辑器之间的较量
查看>>
logback的使用和logback.xml详解
查看>>
Android Studio -- 关联源码
查看>>
leetcode Majority Element
查看>>
去除sql的前后半角全角空格
查看>>
图片在容器里水平垂直居中
查看>>
015PHP文件处理——文件处理flock 文件锁定 pathinfo realpath tmpfile tempname
查看>>
关系型数据库之MySQL
查看>>
算法笔记-二叉树
查看>>
编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,并输出计算结果总是100的所有可能性。...
查看>>
Java异常处理课后作业
查看>>
hrtf 旋转音效matlab实现
查看>>
__attribute__
查看>>
【Android每日一讲】2012.11.06 Android变脸 - 主题(Theme)实现
查看>>
redis 系列12 哈希对象
查看>>
QTP使用心得
查看>>