【力扣】面试题17.23.最大黑方阵
题目描述

思路分析
预处理数组
由于只需要求边全为0的情况,所以可以用两个数组来分别存某个坐标连续0的长度
- right: 表示从当前点开始,往右最长连续0的数量
- down: 表示从当前点开始,往下最长连续0的数量
有了这两个数组之后,之后只需要枚举可能的长度即可
即通过固定左上角坐标来查看右上角坐标down数组的值rs和左下角坐标right数组的值ds
需要特别注意边界情况的考虑
比如
rs和ds需要求一个小值(因为是正方形,多求无意义且可能越界),且遇到不满足的情况应该跳过,否则将错过1
2
3
4
5
6
7
8
9
10// case 1
0 0 0
0 1 0
0 0 0
// case 2
0 0 0 0 0
0 0 1 1 1
0 1 1 1 0
1 1 1 1 1坐标求法:在长度基础上减一(代码中
rj和di)
1 | class Solution { |

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 cv-programmer!







