LeetCode.959 由斜杠划分区域

题目描述:
在由 1 x 1 方格组成的 N x N 网格 grid 中,每个 1 x 1 方块由 /、\ 或空格构成。这些字符会将方块划分为一些共边的区域。

(请注意,反斜杠字符是转义的,因此 \ 用 “\” 表示。)。

返回区域的数目。
链接:https://leetcode-cn.com/problems/regions-cut-by-slashes/

示例:
输入:
[
“\/”,
“/\”
]
输出:4
解释:(回想一下,因为 \ 字符是转义的,所以 “\/” 表示 /,而 “/\” 表示 /\。)

思路:
由于N x N 网格 grid 是由1 x 1 方格的方格组成,每个方格由 /、\ 或空格构成,将方格进行划分。如下图:

以的2 x 2 的网格为例,由4个1 x 1 的方格组成。每个方格可以 /、\ 或空格进行划分。
1.当以 /、\ 进行划分时,1 x 1 的方格会被划分成两部分;
2.当为空格时1 x 1 的方格为一个整体。
此时可以考虑把1 x 1 的方格进行细分,即由 /、\将方格划分为0,1,2,3,四块区域。a.当输入的是 /,1 x 1 方格中的0和3连通,1和2连通,方格划分为两个区域;
b.当输入的是\,1 x 1 方格中的0和1连通,2和3连通,方格划分为两个区域;
c.当输入的是空格,1 x 1 方格中的0,1,2,3相互连通,方格为一个整体区域。
同时,方格之间的区域连通,不受输入的/、\ 或空格影响,只决定于相邻的1 x 1 方格位置关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值