给你一个由正整数组成的 m x n
矩阵 grid
。你的任务是判断是否可以通过 一条水平或一条垂直分割线 将矩阵分割成两部分,使得:
的
。如果存在这样的分割,返回 true
;否则,返回 false
。
注意: 如果一个部分中的每个单元格都可以通过向上、向下、向左或向右移动到达同一部分中的其他单元格,则认为这一部分是 连通 的。
示例 1:
输入: grid = [[1,4],[2,3]]
输出: true
解释:
1 + 4 = 5
和 2 + 3 = 5
,相等。因此答案是 true
。示例 2:
输入: grid = [[1,2],[3,4]]
输出: true
解释:
1 + 3 = 4
和 2 + 4 = 6
。2
(6 - 2 = 4
),两部分的元素和相等,并且两部分保持连通。因此答案是 true
。示例 3:
输入: grid = [[1,2,4],[2,3,5]]
输出: false
解释:
1 + 2 + 4 = 7
和 2 + 3 + 5 = 10
。3
(10 - 3 = 7
),两部分的元素和相等,但底部部分不再连通(分裂为 [2]
和 [5]
)。因此答案是 false
。示例 4:
输入: grid = [[4,1,8],[3,2,6]]
输出: false
解释:
不存在有效的分割,因此答案是 false
。
提示:
1 <= m == grid.length <= 105
1 <= n == grid[i].length <= 105
2 <= m * n <= 105
1 <= grid[i][j] <= 105