找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3152|回复: 0

[代码与实例] Lintcode477 Surrounded Regi** solution 题解

15

主题

15

帖子

15

积分

贫民

积分
15
Jenny 发表于 2018-6-18 21:29:27 | 显示全部楼层 |阅读模式
【题目描述】
Given a 2D board containing 'X' and 'O', capture all regi** surrounded by 'X'.
A region is captured by flipping all 'O''s into 'X''s in that surrounded region.
给一个二维的矩阵,包含 'X' 和 'O', 找到所有被 'X' 围绕的区域,并用 'X' 填充满。

【题目解析】
目标是要找到由X包围起来的O的区域。
首先,外围一圈上的O肯定会保留下来。然后,从外围的O能达到的O也要保留。剩下其他的O就是内部的O。所以方法就是从外围的一圈进行DFS算法:依次对外圈的“O”做DFS,将其可以到达O临时设置为#。
特殊用例:只有外围轮廓没有内部。比如长或者宽小于2,此时不存在被包围的'X'。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表