| 输入 |
| Amxn红/绿元素的矩阵获得FT-SAP后() |
| 输出 |
| MER子矩阵的 |
| findMaxRectangleArea←函数(){ |
| #(1)初始化。 |
| maxArea0; |
| 区域0; |
| #(2)外double-for-loop考虑所有可能的左上角的位置。 |
| (在){ |
| (在){ |
| #(2.1)与(,),左上的,考虑所有可能的右下方的角落。 |
| (在){ |
| (在){ |
| #(2.1.2)看看矩形(,,,)是填满。 |
| 填满←checkFilled(,,,); |
| #(2.1.3)如果是,计算它的面积。 |
| 如果(填充){区域←computeArea(,,,)} |
| #如果面积最大,最大调整和更新坐标。 |
| 如果(面积> maxArea) { |
| maxArea区域; |
| topLeft←
; |
| topLeft←
; |
| botRight←
; |
| botRight←
|
| } |
| } |
| } |
| } |
| } |
|
(topLeft,topLeft,botRight,botRight) |
| 返回列表((面积= maxArea矩形=)); |
|
|
| computeArea
函数(,,,){ |
| 如果(<){返回(−1)} |
| 如果(<){返回(−1)} |
| 返回(()()) |
|
|
| checkFilled←函数(,,,){ |
| (在){ |
| (在){ |
| 如果(= = 0){返回(FALSE)} |
| } |
| } |
| 返回(真) |
| } |
|