LeetCode130. Surrounded Regions

网络工程师的Python入门实战:手把手教你写交换机配置备份脚本 本文详细介绍了如何利用Python为网络工程师开发一个高效的交换机配置备份脚本,涵盖环境搭建、设备连接方案、智能设备发现、多因素认证、异常处理、配置差异对比等关键步骤。通过实战案例展示如何将备份时间从4小时缩短至15分钟,显著提升运维效率,特别适用于华为交换机等设备的配置导出与备份需求。 阅读详情

题目:

https://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 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

思路:

题意给一个OX组成的二维数组,把其中被X包围的O换成X。
嗯,先用dfs写个,不过这个题应该是喊用bfs吧,dfs过不了,有栈溢出。
如果O在二维数组的四边,肯定就不能算背包围。我们从四边往里搜索,如果四边上的位置有O,由这个位置的O往下找到的,与之相连的O,组成一块O区域,都不能被X包围。一边搜索,一边令这些O为#。在最后把二维数组中是#全部变成O,如果二维数组中还存在O,那么这些O都是被X包围的,应该换成X。

代码:

class Solution 
{
    public:
    int m,n;
    void dfs(vector<vector<char>> &board, int i, int j)
    {

        board[i][j]='#';
       if(i > 1 && board[i-1][j] == 'O')
        {
            dfs(board, i-1, j);
        }
        if(i < m-1 && board[i+1][j] == 'O')
        {
            dfs(board, i+1, j);
        }
       if(j > 1 && board[i][j-1] == 'O')
        {
            dfs(board, i, j-1);
        }
        if(j < n-1 && board[i][j+1] == 'O')
        {
            dfs(board, i, j+1);
        }
    }

    void solve(vector<vector<char> > &board) {
        m = board.size();
        if(m==0){
            return;
        }
        n = board[0].size();
        for(int j=0;j<n;j++)
        {
            if (board[0][j] == 'O')
            {
                dfs(board,0,j);
            }
            if (board[m-1][j] == 'O')
            {
                dfs(board,m-1,j);
            }
        }
        for(int i=1;i<m-1;i++)
        {
            if (board[i][0] == 'O')
            {
                dfs(board,i,0);
            }
            if (board[i][n-1] == 'O')
            {
                dfs(board,i,n-1);
            }
        }
        for(int i=0;i<m;i++)
            for(int j=0;j<n;j++)
            {
                if(board[i][j]=='O'){
                    board[i][j]='X';
                } 
                else if(board[i][j]=='#'){
                    board[i][j]='O';
                }
            } 
    }
};
简谈基于FPGA的千兆以太网设计 简谈基于FPGA的千兆以太网设计 今天给大侠带来简谈基于FPGA的千兆以太网设计,话不多说,上货。 今天我们来简单的聊一聊以太网,以太网在FPGA学习中属于比较高级的内容了,有些大侠肯定会感觉以太网学习起来非常不容易。其实,我可以告诉大家,前期学习的基础打扎实了,后期的学习也没那么难。总之就是说难没那么难,说容易也不是那么容易。那么,言归正传,下面让我们一起来聊一聊以太网的学习。 说起以太网,大家可能就会想到百兆以太网、千兆以太网以及万兆以太网等等。局域以太网从10M开始发展,经历几多的变迁,发展到现 阅读详情

相关推荐

LeetCode 130 被围绕的区域 Java

给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。 找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例: X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X X X X X X X X X X O X X 解释: 被围绕的区间不会存在于边界上,换句话说,任何边界上的 ‘O’ 都不会被填充为 ‘X’。...

Cypresszky的博客 255

精确时钟同步协议ptp/IEEE-1588v2协议-------(1)简介

ptp, 1588V2, IEEE-1588, 精确时钟同步协议

meihualing的专栏 5356

leetcode130.被围绕的区域(中等)

思路:从边缘开始遍历,遍历到的‘O’做个标记,是不需要被修改的。其他的’O’是可以被修改的。 思路一:bfs class Solution { public: void bfs(const vector<vector<char>>& board, vector<vector<int>> &flag, int x, int y) { int m = board.size(), n = board[0].si...

zhangjiaji111的博客 551

ESP32+micro-ROS机器人开发实战:轻量级ROS2嵌入式集成

ROS2是现代机器人软件栈的核心框架,其基于DDS的分布式通信与QoS保障能力为多节点协同提供基础支撑;而micro-ROS作为专为微控制器优化的ROS2兼容中间件,解决了资源受限设备(如ESP32)接入ROS2生态的关键难题。其通过分层架构将DDS通信下沉至上位机Agent,使MCU仅需运行轻量Client,大幅降低内存开销(实测<180KB)并保留标准ROS2接口语义。该方案广泛应用于教育机器人、移动底盘、传感器节点等嵌入式场景,尤其适合基于ESP-IDF开发的Wi-Fi/BLE物联网机器人系统。本文以

weixin_29025501的博客 400

Matlab实战:用卡尔曼滤波搞定无人机GPS轨迹优化(附完整代码)

本文详细介绍了如何使用Matlab实现卡尔曼滤波(KF)算法优化无人机GPS轨迹,提供完整代码和工程实践指南。通过线性卡尔曼滤波技术,有效降低定位噪声,提升轨迹平滑度,适用于无人机导航和控制系统开发。

weixin_29061425的博客 253

【LeetCode刷题】-- 130.被围绕的区域

LeetCode

qq_46656857的博客 181

Abaqus仿真突然中断?手把手教你解决SIGTERM/SIGINT报错(附完整命令行方案)

本文深入解析Abaqus仿真中因SIGTERM或SIGINT信号导致进程意外中断的根本原因,并提供了一套完整的命令行解决方案。通过将作业提交方式从图形界面切换到命令行,并配合关键参数设置,可以有效避免因会话空闲超时或外部干扰引发的计算中断,保障长时间仿真任务的稳定运行。

devops8pract的博客 746

LeetCode第 130 题:被围绕的区域(C++)

130. 被围绕的区域 - 力扣(LeetCode) 问题其实就是如何判断一个 ‘O’ 是否是被 ‘X’ 围绕的: 被围绕的区间显然不会存在于边界上,换句话说,任何边界上的 ‘O’ 都不会被填充为 ‘X’。 而任何不在边界上,或不与边界上的 ‘O’ 相连的 ‘O’ 最终都会被填充为 ‘X’。 那我们其实就只需要将与边界相连的 ‘O’ 找出来,然后把剩下的 ‘O’ 全部修改为 ‘X’ 就可以了。一共需要考虑四个边界,上下左右: dfs遍历: class Solution { public: int

zj 922

RK3588,V4l2 读取Gmsl相机, Rga yuv422转换rgb (dma), 实现零拷贝

RK3588, 使用V4l2 读取 gmsl 相机,获得yuv422格式图像, 使用 rga 转换 rgb 图像。减少cpu占用率. 内存管理方式采用 dma,实现零拷贝.

J。 1262

DaVinci配置DID之三:代码实现

本系列主要基于DaVinCi工具链来展开具体DID读写的配置以及最终实现。1,CDD准备2,工具链配置3,代码实现4,验证结果本文讲述流程3话不多说,走你~博主是AutoSar小白,如果哪里表达的有问题,还请大佬们指点指点哈。接下来,让我们在下章关于测试验证的博文再相会哈~

weixin_48498880的博客 5355

LeetCode 130.被围绕的区域 Python题解

【代码】LeetCode 130.被围绕的区域 Python题解

weixin_45450206的博客 759

基于 YOLOv26 的高速抛物识别系统:微小目标检测

本文提出了一种基于YOLOv26的高速抛物识别系统,专注于微小目标检测。系统采用多模块协同架构,包括视频预处理、YOLOv26检测、目标跟踪和抛物行为分析等模块。关键技术包括YOLOv26s模型检测、DeepSORT目标跟踪和边缘计算部署。通过构建包含多种抛物类型的专业数据集,并应用数据增强技术提升模型性能。系统实现了车辆检测、微小抛物目标识别、抛物轨迹分析和风险等级评估等功能,可实时检测高速公路上的抛物行为并触发告警,为交通管理提供智能化解决方案。

一键难忘的博客 632

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

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

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

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

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

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

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

Leetcode130Surrounded Regions

Leetcode 130.被围绕的区域 深度遍历并查集 深度遍历 只从边界 ‘0’ 开始遍历,就不用考虑如何恢复没符合条件的标记 class Solution { public void solve(char[][] board) { int n = board.length; if(n == 0) return; int m = board[0].length; /* 只从矩阵

qq_44688635的博客 197

(LeetCode 130)Surrounded Regions(并查集)

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

SuperNova 4023

LeetCode130—Surrounded Regions

LeetCode130—Surrounded Regions

上善若水 607

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]130.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.

SmartSi 2490

Leetcode 130 Surrounded Regions

给出一个2D图板,又字符'X'和'O'组成,捕捉被'X'包围的区域。将被'X'包围的区域全部置为'X'就是对这个区域进行“逮捕”。

(ง •̀_•́)ง 435

Leetcode 130 --Surrounded Regions

题目来源:leetcode130 这里没有严格按照格式来。。看看大概思路吧。。 题目: 给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。 找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例 X X X X X O O X X X O X X O X X 输出: X X X X X X X X X X X X X O X X 思路:在这里我...

圣托里尼的日落啊~的博客 258

Leetcode 130. Surrounded Regions(python+cpp)

Leetcode 130. Surrounded Regions题目解析 题目 解析 这道题目的关键在于反向思路。如果要去判断某个O所在的位置是不是被包围,挺困难的,所以反向去找那些没有被包围的所有O的位置,而题目里明确说了,在四条boundary上的O是不被包围的。这应该是最straight forward的方法了,不过从提交结果来看速度还是比较慢。具体流程如下: 从四条边界上找所有O的位置,这些O是最简单的可以确认是不被包围的点。那么进一步的就可以知道和这些O直接相连的点也肯定是不被包围的 从这些点

qq_37821701的博客 567

[leetcode] 130. Surrounded Regions @ python

原题 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 ...

闲庭信步 1691
上一篇: LeetCode109. Convert Sorted List to Binary Search Tree
下一篇: 16年腾讯春招--求最长回文子序列长度
_IanXiao
博客等级 码龄12年 84粉丝 241原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值