题意

传送门 LeeCode 130. 被围绕的区域

题解

从矩形区域边界 dfsdfsdfs,标记所有可保留的 ′O′'O'′O′;然后遍历区域元素,将标记的 ′O′'O'′O′ 保留,其余赋为 ′X′'X'′X′。

class Solution
{public:int n, m, dx[4] = {1, -1, 0, 0}, dy[4] = {0, 0, 1, -1};void dfs(int x, int y, vector<vector<char>> &mat){if (mat[x][y] == 'X')return;mat[x][y] = 'Y';for (int i = 0; i < 4; i++){int nx = x + dx[i], ny = y + dy[i];if (nx >= 0 && nx < n && ny >= 0 && ny < m && mat[nx][ny] == 'O'){dfs(nx, ny, mat);}}}void solve(vector<vector<char>> &board){if (board.size() == 0)return;n = board.size(), m = board[0].size();for (int i = 0; i < n; i++){dfs(i, 0, board);dfs(i, m - 1, board);}for (int j = 1; j < m - 1; j++){dfs(0, j, board);dfs(n - 1, j, board);}for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){if (board[i][j] == 'O')board[i][j] = 'X';else if (board[i][j] == 'Y')board[i][j] = 'O';}}}
};

LeeCode 130 DFS相关推荐

  1. LeeCode 297 dfs

    题意 传送门 LeeCode 297. 二叉树的序列化与反序列化 题解 当二叉树节点的值不相同时,可以根据前序遍历/后序遍历与中序遍历重构二叉树.为了保证节点各不相同,用 dfsdfsdfs 序唯一标 ...

  2. 牛客练习赛24题解(搜索,DP)

    A题,C题不讲,基础题(但是我要抨击一下这次比赛,卡cin,cout,卡的太狠了,根本就不让过的那种,QAQ) 链接:https://www.nowcoder.com/acm/contest/157/ ...

  3. Leecode DFS深度优先搜索

    定义 图解 深度优先搜索(缩写DFS)有点类似广度优先搜索,也是对一个连通图进行遍历的算法.它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一 ...

  4. leetcode 130. Surrounded Regions | 130. 被围绕的区域(DFS递归“感染“思路)

    题目 https://leetcode.com/problems/surrounded-regions/ 题解 Related Topics 说是并查集问题,然而我并没有用到. 带有 visited ...

  5. [Leetcode][第130题][JAVA][被围绕的区域][DFS][BFS]

    [问题描述][中等] [解答思路] 1. 深度优先搜索 使用深度优先搜索实现标记操作.在下面的代码中,我们把标记过的字母 O 修改为字母 A. 复杂度 class Solution {int[] dx ...

  6. 利用BFS和DFS解决 LeetCode 130: Surrounded Regions

    问题来源 此题来源于LEETCODE,具体问题详见下面的链接 https://leetcode.com/problems/surrounded-regions/description/ 问题简述 给定 ...

  7. LeetCode 130. 被围绕的区域(图的BFS/DFS)

    文章目录 1. 题目 2. 解题 2.1 BFS 2.2 DFS 1. 题目 给定一个二维的矩阵,包含 'X' 和 'O'(字母 O). 找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' ...

  8. 算法题思路总结和leecode继续历程

    2018-05-03 刷了牛客网的题目:总结思路(总的思路跟数学一样就是化简和转化) 具体启发点: 1.对数据进行预处理排序的思想:比如8皇后问题 2.对一个数组元素进行比较的操作,如果复杂,可以试试 ...

  9. [BZOJ3779]重组病毒(LCT+DFS序线段树)

    同[BZOJ4817]树点涂色,只是多了换根操作,分类讨论下即可. 1 #include<cstdio> 2 #include<algorithm> 3 #define lc ...

  10. Gym - 101972B Arabella Collegiate Programming Contest (2018) B. Updating the Tree 树DFS

    题面 题意:T组数据,每次给你1e5个点的树(1为根),每个点有一权值,询问1-n每个节点的子树中, 至少修改几个点的权值(每次都可以任意修改),才能让子树中任意2点的距离==他们权值差的绝对值 无解 ...

最新文章

  1. web架构之mysql服务器
  2. mysql 按月自动建表
  3. ASP.net Xml: ASP.net操作Xml
  4. 软件构造 第一章第二节 软件开发的质量属性
  5. c#同类型操作最终得到的结果将是同类型
  6. 微信小程序怎么绑定服务器,微信小程序页面表单如何跟图片一起上传服务器
  7. php给网页加水印_php实现图片添加水印功能
  8. Spring-Task 的应用(配置文件方式)
  9. java并发包aqu_Java并发包之SynchronousQueue
  10. 运动会管理系统(JAVA,JSP,SERVLET,MYSQL)
  11. 自己做的一个漫画下载器
  12. html表格圣杯布局页面,Css圣杯布局
  13. WPS-Word:下一页分节符不能分页,插入下一页分节符时下一节没有在新的一页开始
  14. 关于element plus 插件 e-table的用法
  15. 使用Wamp在win7上搭WEB服务器
  16. 可能是最详细的字符编码详解
  17. 工业物联网网关可以采集哪些RS485传感器数据并上传到MQTT云平台?
  18. dedecms建站教程
  19. Kaggle调参技巧整理
  20. 这一套完整的后台管理系统(附源码),你看过没

热门文章

  1. ViewPage详解
  2. DX C++实现超炫酷粒子特效之烟花特效
  3. M3DGIS三维数字沙盘开发教程第51课可视化交互大数据地理信息系统开发教程第51课
  4. matlib 多种方法实现图像旋转不使用imrotate函数
  5. http接口取参方式 - getParameter 和 getParameterValues
  6. python之简易飞机大战
  7. 数字信号处理:时域采样定理与频域采样定理
  8. matlab竞赛论文模板,数学建模竞赛论文模板.doc
  9. 【渝粤教育】21秋期末考试招投标与合同管理10217k2
  10. c语言写我爱你中国编程,c程序设计案例汇编课件.ppt