题目:
给定一个01矩阵,求该矩阵内部的满足以下条件的最大的矩形的左上角所在的行和列,以及该矩形的长和宽。该矩形满足边上全为1,内部可0可1。(假定所有输入有且仅有一个矩形满足条件)
package Test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
class Position {
public int x = 0;
public int y = 0;
public int w = 0;
public int h = 0;
public int a = 0;
public Position(int x, int y) {
this.x = x;
this.y = y;
}
public String toString() {
return "(" + x + ", " + y + ")" + "(" + w + ", " + h + ") " + a + "\n";
}
}
/**
* 思路:先优化矩阵,去掉无效点;找左上点;求每个左上点可以形成的最大矩形面积;在结果集中找出最大面积的位置信息
* clean() 去掉无效点
* travel() 遍历矩阵,找出左上点
* checkAll() 求每个左上点可以形成的最大矩形
* findMax() 在可以组成矩形的结果中找最大面积
* @author w18666
*
*/
public class Solution {
public static void main