题目
LeetCode 3529.统计水平子串和垂直子串重叠格子的数目
解释
## 题目描述
给你一个由字符组成的 m x n 矩阵 grid 和一个字符串 pattern。
水平子串 是从左到右的一段连续字符序列。如果子串到达了某行的末尾,它将换行并从下一行的第一个字符继续。不会 从最后一行回到第一行。
垂直子串 是从上到下的一段连续字符序列。如果子串到达了某列的底部,它将换列并从下一列的第一个字符继续。不会 从最后一列回到第一列。
请统计矩阵中满足以下条件的单元格数量:
该单元格必须属于 至少 一个等于 pattern 的水平子串,且属于 至少 一个等于 pattern 的垂直子串。
返回满足条件的单元格数量。
## 示例
**示例 1:**
**输入:** grid = [["a","a","c","c"],["b","b","b","c"],["a","a","b","a"],["c","a","a","c"],["a","a","b","a"]], pattern = "abaca"
**输出:** 1
**解释:** "abaca" 作为一个水平子串(蓝色)和一个垂直子串(红色)各出现一次,并在一个单元格(紫色)处相交。
**示例 2:**
**输入:** grid = [["c","a","a","a"],["a","a","b","a"],["b","b","a","a"],["a","a","b","a"]], pattern = "aba"
**输出:** 4
**解释:** 上述被标记的单元格都同时属于至少一个 "aba" 的水平和垂直子串。
**示例 3:**
**输入:** grid = [["a"]], pattern = "a"
**输出:** 1
## 约束条件
m == grid.length
n == grid[i].length
1 <= m, n <= 1000
1 <= m * n <= 105
1 <= pattern.length <= m * n
grid 和 pattern 仅由小写英文字母组成。
## LeetCode 链接
https://leetcode.cn/problems/count-cells-in-overlapping-horizontal-and-vertical-substrings/
答案
正在疯狂整理答案中......
