LeetCode surrounded region

这篇具有很好参考价值的文章主要介绍了LeetCode surrounded region。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. Surrounded Regions
    Given an m x n matrix board 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.

Example 1:

Input: board = [[“X”,“X”,“X”,“X”],[“X”,“O”,“O”,“X”],[“X”,“X”,“O”,“X”],[“X”,“O”,“X”,“X”]]
Output: [[“X”,“X”,“X”,“X”],[“X”,“X”,“X”,“X”],[“X”,“X”,“X”,“X”],[“X”,“O”,“X”,“X”]]
Explanation: Notice that an ‘O’ should not be flipped if:

  • It is on the border, or
  • It is adjacent to an ‘O’ that should not be flipped.
    The bottom ‘O’ is on the border, so it is not flipped.
    The other three ‘O’ form a surrounded region, so they are flipped.

思路:考虑到目标是“把所有内部被X围住的O转成X”,把所有外围(还有与外围相连的)的O 转成 F ( 也可以是其他别的字符);
然后,遍历整个矩阵,把此时所有O转成X,把所有F恢复成O.文章来源地址https://www.toymoban.com/news/detail-467380.html

public void solve(char[][] ma)
    {
        int n = ma.length;
        int m = ma[0].length;
        for(int i=0;i<n;i++)
        {
           if(ma[i][0]=='O')
           {
               free(ma,i,0);
           }

           if(ma[i][m-1]=='O')
           {
               free(ma,i,m-1);
           }
        }

        for(int j=1;j<m-1;j++)
        {
            if(ma[0][j]=='O')
            {
                free(ma,0,j);
            }
            if(ma[n-1][j]=='O')
            {
                free(ma,n-1,j);
            }
        }

        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                if(ma[i][j]=='O')
                {
                    ma[i][j]='X';
                }
                  if(ma[i][j]=='F')
                {
                    ma[i][j]='O';
                }
            }
        }
    }
    public void free(char[][] ma, int i, int j)
    {
        if(i<0||i>=ma.length||j<0||j>=ma[0].length||ma[i][j]!='O')
        {
            return;
        }
        ma[i][j]='F';
        free(ma,i-1,j);
        free(ma,i,j-1);
        free(ma,i+1,j);
        free(ma,i,j+1);
    }

到了这里,关于LeetCode surrounded region的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Leetcode 1325. Delete Leaves With a Given Value (二叉树后序遍历经典题)

    Delete Leaves With a Given Value Solved Medium Topics Companies Hint Given a binary tree root and an integer target, delete all the leaf nodes with value target. Note that once you delete a leaf node with value target, if its parent node becomes a leaf node and has the value target, it should also be deleted (you need to continue doing that until you cannot)

    2024年02月22日
    浏览(44)
  • 【论文阅读】Know Your Surroundings: Exploiting Scene Information for Object Tracking

    发表时间 :2020 期刊会议 :ECCV 方向分类 : 目标跟踪 做了什么: 本文提出了一个能够在视频序列中传播目标附近场景信息的跟踪结构,这种场景信息被用来实现提高目标预测的场景感知能力。 解决了什么问题: 已存在的跟踪器只依靠外观来跟踪,没有利用任何周围场景中

    2024年04月23日
    浏览(55)
  • Hbase split Region

    Split(Region拆分) ​ 自动拆分 根据region大小触发拆分 ​ 早期(0.94版本前)HBase仅根据Region中最大的列簇大小(即一个Store,也即HFile)进行自动拆分,默认拆分阈值为10G,当大小达到10G后,将这个region拆分为两个region。参数为: 根据文件大小动态触发拆分 ​ 0.94版本之后,有

    2024年02月16日
    浏览(34)
  • forward() takes 2 positional arguments but 3 were given

    问题描述: 在forward中明明正确数量的参数,却报错:forward() takes 2 positional arguments but 3 were given; 问题分析: 使用nn.Sequential()定义的网络,只接受单输入 例如: self.backbone=nn.Sequential(nn.lstm(input_size=20, hidden_size=40, num_layers=2),                                     nn.linear(

    2024年02月11日
    浏览(42)
  • Hbase中的region和rowkey

    Region是HBase数据管理的基本单位,region有一点像关系型数据的分区。 Region中存储这用户的真实数据,而为了管理这些数据,HBase使用了RegionSever来管理region。 一个表中可以包含一个或多个Region。 每个Region只能被一个RS(RegionServer)提供服务,RS可以同时服务多个Region,来自不同

    2024年02月08日
    浏览(34)
  • Ip2region介绍

    ip2region v2.0 - 是一个 离线IP地址定位库 和IP定位数据管理框架,10微秒级别的查询效率,提供了众多主流编程语言的 xdb 数据生成和查询客户端实现。 1、标准化的数据格式 每个 ip 数据段的 region 信息都固定了格式: 国家|区域|省份|城市|ISP ,只有中国的数据绝大部分精确到了

    2024年02月16日
    浏览(44)
  • AWS 云区域(region),可用区(AZ)

    AWS 提供三种地理性组件: Regions:区域,即AWS提供云服务的一个区域,其目的是为了用户能就近接入,降低网络延迟。通常是一个城市的若干个AZ组成一个region。2016年,AWS 宣布在其全球region之间建设了100GbE 私有环网。 Availability Zones:一个 region 内至少两个通常三个可用区,

    2024年02月16日
    浏览(42)
  • AWS出现You must specify a region. You can also configure your region by running “aws configure“解决方法

    使用aws的命令时 出现如下错误 最主要的错误提示如下: 其实这条命令已经告诉你具体的操作了 根据命令提示输入: aws configure 主要的配置要求,具体如下:

    2023年04月09日
    浏览(42)
  • 单元测试报错 No tests found for given includes: [StudyApplicationTests.contextLoads]

    当你运行单元测试报错No tests found for given includes: [StudyApplicationTests.contextLoads] 如下:  可能是因为你的gradle测试默认使用的是以gradle启动,改成以IDEA启动即可

    2024年02月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包