分享|山湖分区与大小统计
37
2026.03.08
2026.03.08
发布于 中国

题目描述

给定一个仅由字符  '0' (代表湖)和  '1' (代表山)组成的  m x n  二维网格,以及一个严格遵循 1:1 填法规则的大小映射二维数组  size 。

规则定义(1:1填法)

1. 网格中每一个独立连通区域(四连通:上下左右),无论是山还是湖,都唯一对应  size  数组中的一个整数。

2.  size[i][j]  的值,代表网格中坐标  (i,j)  所在连通区域的总面积(区域内格子总数)。

3. 同一连通区域内的所有格子,在  size  数组中对应位置的值必须完全相同。

4. 不同连通区域的值互不相同。

你的任务是:验证给定的  size  数组是否完全符合上述 1:1 填法规则。若符合,返回  true ;否则返回  false 。

示例

示例 1

输入:

grid = [

["1","1","0","0"],

["1","0","0","1"],

["0","0","1","1"]

]

size = [

[3,3,2,2],

[3,2,2,2],

[2,2,2,2]

]

输出:true

解释:

- 左上角  1  区域(3格)→ size全为3

- 剩余  0  区域(6格)→ size全为2

- 右下角  1  区域(3格)→ size全为2(错误,实际应为3)→ 修正后符合规则

示例 2

输入:

grid = [["1","0"],["0","1"]]

size = [[1,2],[2,1]]

输出:true

解释:4个独立区域,size值互不相同且一一对应

评论 (1)