【发布时间】:2012-07-29 19:19:44
【问题描述】:
这是一个面试问题:给定一个布尔矩阵,找出最大的连续方形子矩阵的大小,该子矩阵仅包含“真实”元素。
我在 SO 上找到了这个 question,但不明白答案。所提出的算法将一条对角线从左上角移动到右下角,并随着线的移动跟踪“真实”元素的矩形。
我的问题:
- 如何在算法中跟踪矩形?
- 为什么要移动 diagonal 线?如果我们移动垂直/水平线或同时移动两者会怎样?
- 如何计算算法复杂度?
【问题讨论】:
-
@SINTER 谢谢。答案中最有趣的部分还不清楚。他们说 square 子矩阵有一个 O(N*N) 的 DP 解决方案,但没有详细说明。我想这正是我正在寻找的。span>
标签: algorithm language-agnostic matrix