一尘不染

难题:找到最大的矩形(最大矩形问题)

algorithm

找到面积最大的矩形适合空空间的最有效算法是什么?

假设屏幕看起来像这样(“#”代表填充区域):

....................
..............######
##..................
.................###
.................###
#####...............
#####...............
#####...............

一个可能的解决方案是:

....................
..............######
##...++++++++++++...
.....++++++++++++###
.....++++++++++++###
#####++++++++++++...
#####++++++++++++...
#####++++++++++++...

通常,我很乐于找出解决方案。尽管这一次我想避免浪费自己的时间,因为这对于我正在从事的项目具有实际用途。有众所周知的解决方案吗?

Shog9 写道:

您的输入是数组(其他响应所隐含的)还是以任意大小,定位的矩形形式出现的遮挡列表(在处理窗口位置时在窗口系统中可能就是这种情况)?

是的,我有一个结构,可以跟踪屏幕上放置的一组窗口。我还有一个网格,可以跟踪每个边缘之间的所有区域(无论它们是空的还是填充的)以及它们的左边缘或上边缘的像素位置。我认为有一些修改后的表格可以利用此属性。你知道吗


阅读 327

收藏
2020-07-28

共1个答案

一尘不染

@lassevk

我从DDJ找到了引用的文章:最大矩形问题

2020-07-28