Leetcode---Surrounded Regions

西门子S7-200 SMART PLC控制伺服电机 以下是使用西门子S7-200 SMART PLC控制伺服电机的详细程序框架和配置说明,涵盖硬件接线、PLC配置和基本运动控制逻辑。具体实现需根据伺服电机型号(如松下、三菱、台达等)调整参数。通过以上步骤,可实现伺服电机的基础位置控制。实际应用需根据设备机械参数和伺服驱动器手册调整细节。建议在调试时逐步测试脉冲输出和方向信号是否正常。 阅读详情

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 X
X O O X
X X O X
X O X X


After running your function, the board should be:

X X X X
X X X X
X X X X
X O X X



Have you been asked this question in an interview?

这道题直观看就是图论,然后是BFS或DFS,它们有同样的最坏时间复杂度,BFS消耗空间,空间复杂度比较高,DFS比较适合比较扁平的图(深度不大,广度大),BFS适合比较狭长的图(广度不大,深度大)。另外对于无权重图,BFS适合找最短路径,但只能记录一条最短路径;DFS能记录所有路径,但这些路径不一定是最短的。。。
等等吧,这些也是最近对BFS和DFS的一点总结。
这道题我使用了DFS,第一思路是正向思维,逐行扫描‘O’,然后以每个‘O’为起点DFS,扫到了染色‘O’为‘Y’,若碰到了矩阵的边,设置全局flag为true,然后替换‘Y’为‘Z’,若木有碰到边,设置全局变量flag为false,然后替换‘Y’为‘X’。最后将所有的‘Z’替换成‘O’。
写完一运行,TLS了。
后来参考别人的写法,采用逆向思维,从矩阵的四条边扫描, 以每个‘O’为起点DFS ,扫到了染色‘O’为‘Z’,扫描完毕后,所有剩下的‘O’就是被‘X’完全包围的, 将它们替换成‘X’,将所有的‘Z’替换成‘O’。
代码如下:

点击(此处)折叠或打开

  1. queue<int> q;
  2.     int m, n;
  3.       
  4.     void add(int x, int y, vector<vector<char>> &board) {
  5.         if (x >= 0 && x < m && y >= 0 && y < n && board[x][y] == 'O') {
  6.             board[x][y] = 'Z';
  7.             q.push(x * n + y);
  8.         }
  9.     }
  10.       
  11.     void traversal(int x, int y, vector<vector<char>> &board) {
  12.         add(x, y, board);
  13.         while (!q.empty()) {
  14.             int p = q.front();
  15.             q.pop();
  16.             int px = p / n, py = p % n;
  17.             add(px - 1, py, board);
  18.             add(px + 1, py, board);
  19.             add(px, py - 1, board);
  20.             add(px, py + 1, board);
  21.         }
  22.     }
  23.       
  24.     void solve(vector<vector<char>> &board) {
  25.         if (board.empty() || board.size() == 0 || board[0].size() == 0) {
  26.             return;
  27.         }
  28.         m = board.size(), n = board[0].size();
  29.         for (int i = 0; i < n; i++) {
  30.             traversal(0, i, board);
  31.             traversal(m - 1, i, board);
  32.         }
  33.         for (int i = 0; i < m; i++) {
  34.             traversal(i, 0, board);
  35.             traversal(i, n - 1, board);
  36.         }
  37.         for (int i = 0; i < m; i++) {
  38.             for (int j = 0; j < n; j++) {
  39.                 board[i][j] = board[i][j] == 'Z' ? 'O' : 'X';
  40.             }
  41.         }
  42.     }


<script>window._bd_share_config={"common":{"bdsnskey":{},"bdtext":"","bdmini":"2","bdminilist":false,"bdpic":"","bdstyle":"0","bdsize":"16"},"share":{}};with(document)0[(getelementsbytagname('head')[0]||body).appendchild(createelement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new date()/36e5)];</script>
阅读(1) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
【WireShark】WireShark windows平台编译 问题解决 最近工作中需要基于wireshark做二次开发,在windows平台构建过程中 遇到了找不到Glib库的问题,具体报错如下: Working in D:\WorkSpace\WIRESHARK\wiresharksource\wireshark-win64-libs Tag 2021-08-14 not found. Refreshing. Downloading https://anonsvn.wireshark.org/wireshark-win64-libs/tags/2021-08-14/pac 阅读详情

相关推荐

MultiOTP Credential Provider避坑指南:从安装到RDP双因素认证的全流程解析

本文详细解析了MultiOTP Credential Provider从安装到实现RDP双因素认证(MFA)的全流程,重点分享了Docker部署、Active Directory集成及网络级认证(NLA)兼容性等环节的实战避坑经验,旨在帮助运维人员高效、稳定地部署离线双因素认证方案,提升Windows远程桌面安全性。

weixin_29255731的博客 642

leetcode130. Surrounded Regions

题意: 130. Surrounded Regions Medium Given a 2D board containing 'X' and 'O' (the letter O), capture all regions surrounded by 'X'. A region is captured by flipping all 'O's into 'X's in that surrounded region. Example: X X X X X O O X X X O X X O X X

RitaAndWakaka的博客 299

ANC降噪学习

概述 ANC,英文名称:Active Noise Control,主动降噪。其原理是降噪系统电路产生降噪MIC接收的外界环境噪音相等的反相信号,将噪声抵消。核心算法 ANC降噪实现核心算法为:FxLMS(最小均方差算法)。最小均方差算法以均方误差为代价函数,并使误差降到最小的算法。 具体算法推导这里不做具体介绍,这里直接列出表达式: ...

王小壮的博客 2万+

LeetCode 130. Surrounded Regions(bfs)

题目来源:https://leetcode.com/problems/surrounded-regions/ 问题描述 130.Surrounded Regions Medium Given a 2D board containing'X'and'O'(the letter O), capture all regions surrounded by'X'. A region i...

da_kao_la的博客 334

从像素到光影:解析《黑神话:悟空》中Nanite与Lumen的协同渲染革命

本文深度解析了《黑神话:悟空》如何利用Unreal Engine 5的Nanite与Lumen技术实现渲染革命。Nanite处理亿级多边形几何细节,无需传统LOD优化;Lumen提供全动态全局光照,实现实时光线反弹。两者协同工作,为游戏带来电影级视觉体验,重塑了实时渲染的技术标准与工作流程。

f6g7h8i9j的博客 425

深入剖析一个卷积块(ConvBlock)

深入剖析一个卷积块(ConvBlock)

qq_45670407的博客 1925

LeetCode 力扣 6130. 被围绕的区域 Surrounded Regions

大家觉得写还可以,可以点赞、收藏、关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录130. 被围绕的区域题目描述示例:解释:分析BFS代码DFS代码提交结果对比 130. 被围绕的区域 题目描述 给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。 找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例: X X X X X O O X X X O X X O X X 运行你的函数后

motongxue的博客 336

VL53L0X测距不准?手把手教你做RefSPAD校准与环境补偿(附Arduino/STM32代码)

本文详细解析了VL53L0X激光测距传感器精度不足的原因,并提供了RefSPAD校准与环境补偿的完整解决方案。通过Arduino和STM32代码示例,手把手教你实现毫米级测距稳定性,适用于机器人避障、工业检测等场景。

weixin_28744423的博客 257

LeetCode力扣之130. Surrounded Regions

Given a 2D board containing 'X' and 'O' (the letter 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 X X O O X ...

LeeWei 367

【电子元件篇】电力电子中的变压器原理、作用、选型与测量指南-超简单解读

变压器虽小,却是电力电子的 “关键纽带”——从识别符号型号,到理解 “传交流隔直流” 的特点,再到按用途选参数、用万用表检测,只要抓住 “场景对应核心” 的逻辑,就能轻松掌握它的用法。

2301_81299416的博客 3025

Monocle2在R 4.3环境下的终极避坑指南:从安装到可视化全流程解析

本文提供了在R 4.3环境下安装和运行Monocle2的完整解决方案,重点解决了依赖包兼容性、源码修改及BEAM分析报错等关键问题。文章详细解析了从环境准备、依赖包处理、源码安装验证到从Seurat对象转换、拟时轨迹构建、高级可视化及性能优化的全流程,旨在帮助用户顺利完成单细胞拟时分析。

weixin_29206669的博客 1355

LeetCode - Surrounded Regions

之前都在poj玩,第一次刷LeetCode OJ的题目,求Surrounded Regions。原题http://oj.leetcode.com/problems/surrounded-regions/ 。   不知道其他人什么解法。个人认为思路的关键是任何一个O如果它没有被X包围,那么它一定和最外面的边界的某个O是连通的。反过来,也就是可以从最外面那层所有的O开始用广度搜索所有没有被包围的O。

算法,时空数据挖掘 2036

SAP 批量修改 工艺路线 和 BOM

1、在运维的过程中经常会遇到用户需要批量更改组件,或者是批量更改数量,还是组件里面的一些标识,当处理这些批量数据处理的业务时,BOM的批量更改一个想到的就是CS20,但是CS20当BOM需要替换的时候就不是很适用。当前工作区域:选择 SAP_ITEM 对BOM行项目进行变更,工艺路线也是可以批量更改的,根据实际的业务进行选择,我这里选择的就是BOM的组件变更。5、本博客将使用新的一种方式进行BOM的批量变更,标准的事务代码:CEWB对BOM进行批量更改。3、使用LSMW的方式进行BOM的批量更改。

我小时候很黑的博客 4095

[LeetCode]Surrounded Regions

https://leetcode.com/problems/surrounded-regions/ 解法一:深搜 考虑一种特殊情况: OOOOOOOOOO XXXXXXXXXO OOOOOOOOOO OXXXXXXXXX OOOOOOOOOO XXXXXXXXXO OOOOOOOOOO OXXXXXXXXX OOOOOOOOOO XXXXXXXXXO  应该change "if(j

gqk289的专栏 3676

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

[leetcode]Surrounded Regions

dfs过得太蹊跷了,本博文算法作废,新博文地址:[leetcode]Surrounded Regions   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...

mc46790090的专栏 130

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LeetCode六月挑战(6.17) Surrounded Regions LeetCode130 解题报告

LeetCode六月挑战(6.17) Surrounded Regions LeetCode130 解题报告 Surrounded Regions Solution Given a 2D board containing ‘X’ and ‘O’ (the letter O), capture all regions surrounded by ‘X’. A region is captured by flipping all 'O’s into 'X’s in that surrounded region.

初七的博客 184

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Leetcode Surrounded Regions(Medium)-python

Leetcode Surrounded Regions(Medium) 问题描述: Given a 2D board containing ‘X’ and ‘O’ (the letter O), capture all regions surrounded by ‘X’. A region is captured by flipping all 'O’s into 'X’s in that surrounded region 将被X包围的O全部变成X,边界上的O不算被包围。 Example: X X X X

A*J的博客 255

Surrounded Regions -- LeetCode

原题链接:http://oj.leetcode.com/problems/surrounded-regions/这个题目用到的方法是图形学中的一个常用方法:Flood fill算法,其实就是从一个点出发对周围区域进行目标颜色的填充。背后的思想就是把一个矩阵看成一个图的结构,每个点看成结点,而边则是他上下左右的相邻点,然后进行一次广度或者深度优先搜索。接下来我们看看这个题如何用Flood f...

编程语言小筑 217

【leetcode】【medium】130. Surrounded Regions

130. Surrounded Regions Given a 2D board containing'X'and'O'(the letter O), capture all regions surrounded by'X'. A region is captured by flipping all'O's into'X's in that surrounded region. ...

lemonade13的博客 142

[leetcode]Surrounded Regions @ Python

原题地址:https://oj.leetcode.com/problems/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 int...

weixin_34179762的博客 147

Leetcode 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 . For example, X X X X X O O X X

popfish的算法路 3673

[LeetCode] Surrounded Regions

[Problem] 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 X X O O X X

1.02^365的成长裂变 3613

LeetCode 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.For example,X X X X X O O X X X O X X O X X

Coding for Dreams 1340

[leetcode] Surrounded Regions

原题链接:https://leetcode.com/problems/surrounded-regions/ 题目:Given a 2D board containing 'X' and 'O' (the letter O), capture all regions surrounded by 'X'. A region is captured by flipping all 'O's

tiny_potato的博客 248

leetcode之surrounded-regions(将边界上非联通的O变为X)

leetcode之surrounded-regions(将边界上非联通的O变为X) 题目 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 . F...

此心光明,亦复何言~ 321

leetcode 130. Surrounded Regions

题目链接:https://leetcode.com/problems/surrounded-regions/ 题目思路: 找到所有的O的区域,将O的区域全标记为S; 检测所有的O的区域,有没有在边界的点 如果有,证明不会被X包围,将S改成O 如果没有,证明可以被X包围,将S改为X 遇到的bug pair不知道怎么用:vector<pair<int. in...

快乐划水程序猿的专栏 276
上一篇: Leetcode---Sudoku Solver
下一篇: Leetcode---Word Break II
我把葡萄酿成酒
博客等级 码龄12年 275粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值