leetcode 130.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 into 'X's in that surrounded region. For example, X X X X X O O X X X 阅读详情

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
After running your function, the board should be:

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

Explanation:

Surrounded regions shouldn’t be on the border, which means that any ‘O’ on the border of the board are not flipped to ‘X’. Any ‘O’ that is not on the border and it is not connected to an ‘O’ on the border will be flipped to ‘X’. Two cells are connected if they are adjacent cells connected horizontally or vertically.

给出一个由‘O’和’X’组成的矩阵,要把被’X‘包围的’O’转换成‘X’。
但是边界上的‘O’和与边界的‘O’相连通的’O’不作转换

思路:
因为和边界‘O’连通的’O’不作转换,所以要找出边界‘O’的连通区域,并做标记,然后标记之外的’O’转为‘X’

连通区域还是和200题一样的dfs方法,标记成‘O’和‘X’之外的字符以防止重复搜索
注意不要忘了dfs下边界和右边界

    public void solve(char[][] board) {
        if(board == null || board.length == 0) {
            return;
        }
        
        int rows = board.length;
        int cols = board[0].length;
        
        for(int i = 0; i < rows; i++) {
            dfs(board, i, 0, rows, cols);
            dfs(board, i, cols-1, rows, cols);
        }
        
        for(int j = 0; j < cols; j++) {
            dfs(board, 0, j, rows, cols);
            dfs(board, rows-1, j, rows, cols);
        }
        
        for(int i = 0; i < rows; i++) {
            for(int j = 0; j < cols; j++) {
                if(board[i][j] == 'O') {
                    board[i][j] = 'X';
                } else if(board[i][j] == 'G') {
                    board[i][j] = 'O';
                }
            }
        }
    }
    
    public void dfs(char[][] board, int i, int j, int rows, int cols) {
        if(i < 0 || i >= rows || j < 0 || j >= cols || board[i][j] != 'O') {
            return;
        }
        
        board[i][j] = 'G';
        dfs(board, i-1, j, rows, cols); //up
        dfs(board, i+1, j, rows, cols); //down
        dfs(board, i, j-1, rows, cols); //left
        dfs(board, i, j+1, rows, cols); //right
    }
超详细!思岚S2激光雷达hector_mapping建图 使用思岚S2激光雷达,在ros平台上利用hector_mapping功能包实现建图功能 阅读详情

相关推荐

无需云服务器:飞牛云NAS+Docker搭建本地WordPress站点全球访问

在数字化浪潮中,网站搭建已成为个人和企业在推广自身品牌与业务的首要选择。飞牛云新推出的fnOS,这款集多功能于一身的nas系统,以其卓越的性能和灵活性,成为理想的本地网站部署平台。本文将带你一探如何在飞牛云NAS上通过Docker部署WordPress,并利用cpolar实现全球访问。

LT15171009269的博客 6528

【LeetCode 面试经典150题】130. Surrounded Regions 被围绕的区域

Given an matrix containing ‘X’ and ‘O’, capture all regions that are 4-directionally surrounded by ‘X’.A region is captured by flipping all 'O’s into 'X’s in that surrounded region.给定一个 的矩阵 ,包含 ‘X’ 和 ‘O’,捕获所有被 ‘X’ 四面围绕的区域。一个区域被捕获是通过将被围绕区域内的所有 ‘O’ 翻转成 ‘X

qq_43513394的博客 567

Win10下YOLOv8环境搭建避坑指南:从CUDA 11.6到cuDNN配置全流程

本文详细介绍了在Windows 10系统下搭建YOLOv8环境的完整流程,包括CUDA 11.6和cuDNN的配置步骤,以及常见问题的解决方案。通过硬件准备、软件安装、环境验证和性能优化等环节,帮助开发者高效完成YOLOv8环境配置,提升目标检测项目的开发效率。

defi6farmer的博客 223

surrounded-regions

1.题目: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...

ShuJk的博客 315

RKNN3588——YOLOv8的PT模型转RKNN模型

1. 首先克隆rknn修改后的ultralytics版本项目到本地主要是修改了源码的ultralytics/nn/modules/head.py和ultralytics/engine/exporter.py两个文件。2. 使用修改后的ultralytics对pt模型进行模型转换,此处的format=rknn代表支持rknn后续的转换,而不是用onnx,一定要注意!!!

张飞飞的博客 7166

Android 13 GMS认证避坑:手把手教你搞定RKP配置,解决GTS测试fail

本文详细解析Android 13 GMS认证中的RKP(远程密钥配置)全流程,提供GTS测试失败的深度解决方案。从RKP核心概念到实战配置技巧,帮助开发者规避常见陷阱,确保设备顺利通过Google安全认证,特别适合需要快速掌握Android13 GMS认证的工程师参考。

weixin_29796279的博客 461

LeetCode - Surrounded Regions

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

算法,时空数据挖掘 2036

LTspice元器件库导入与路径管理:符号、模型、子电路全解析

在电子电路仿真中,元器件库通常由符号、模型和子电路三层构成:符号定义引脚外观,模型描述电气行为,子电路封装多端子网络。理解三者职责边界,是解决 LTspice 元器件库导入报错的关键。许多导入失败并非软件问题,而是文件类型错配、路径引用不清或引脚顺序不一致。掌握 `.include` 指令、用户库搜索路径和自制符号绑定模型,可以提升第三方模型复用效率,降低跨项目迁移成本。该思路适用于运放、MOS 管、二极管等器件建模,尤其在 UA741 等经典运放导入场景中,需要先核对 `.subckt` 引脚顺序,再选择

weixin_29182481的博客 178

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. 示例, X

刘天的博客 275

什么是 SAP Build Process Automation?

SAP Build Process Automation 是一款综合性的低代码工具,允许企业用户快速开发和自动化端到端业务流程。它整合了工作流管理、任务自动化和人工智能技术,提供了一个易于使用的平台,帮助企业更好地应对现代商业挑战。通过该工具,用户无需具备深厚的编程技能即可创建复杂的业务流程。例如,用户可以使用直观的拖放式界面设计流程、设置触发条件、定义任务分配规则,并通过内置的分析功能对流程效率进行评估。流程建模与设计:提供图形化界面,帮助用户直观地设计业务流程。任务自动化。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1257

Android功耗系列专题理论之六:外设功耗问题分析方法

本文介绍了移动设备功耗问题的分析方法,重点针对传感器和GPU两大模块。传感器部分详细讲解了通过ADB命令获取日志、状态差异分析和单传感器隔离测试的排查方法,并给出优化建议。GPU部分从基础功耗测量、场景测试到功能模块拆解进行多维度分析。同时阐述了GNSS/GPS功耗的测试方法,包括前后台对比、星座双频拆解及SAP/DPO等特殊功能的电流分析,为移动设备功耗优化提供系统性的诊断思路。

369

LeetCode 130. Surrounded Regions(包围区域)

原题网址: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 i

James Pan 607

使用mid360运行lio-livox对比fast-lio2

msg_type为激光雷达发出的数据格式,有livox自定义数据类型格式CustomMsg和ros标准的PointCloud2格式,因此首先需要确定激光雷达端配置的是哪种格式。可以从激光雷达的ros驱动中看到驱动端有三种格式可以选,驱动端的数字2对应lio-livox中的1,驱动端的0对应lio-livox的格式0。如果使用的是Ubuntu18.04编译完成后运行直接成功,如果使用20.04运行会报错,需要修改以下源代码。针对livox-mid360 运行lio-livox的一些问题。

z1872385的博客 1227

LeetCode130 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. Example: X X X X X O O...

李歇特冯-兹拜因巴哈的博客 291

Devexpress16.2.6破解工具

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

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

LeetCode-130. Surrounded Regions (JAVA)(环绕区域)

LeetCode-130. Surrounded Regions (JAVA)(环绕区域)

mine_song的博客 2013

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

(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

LeetCode 130. Surrounded Regions 题解

本题展示了逆向思维在解决问题中的重要性。逆向思维:找不被围绕的区域从边界开始 DFS/BFS临时标记,最后恢复。

cannonjinx的博客 4521

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

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的博客 333

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

题目来源: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

LeetCode130—Surrounded Regions

LeetCode130—Surrounded Regions

上善若水 607

LeetCode: Surrounded Regions [130]

【题目】 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 shou

Harry Huang 1164

Leetcode 130 Surrounded Regions

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

(ง •̀_•́)ง 435

【Java】【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. Example: X X X X ...

zhelong19830726的博客 328
上一篇: leetcode 200. Number of Islands(岛的数量-连通区域数)
下一篇: leetcode 133. Clone Graph(图的深复制)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值