1

我一直在尝试寻找某种可以解决我遇到的问题的算法。我遇到的最接近的是装箱算法,但我不认为它是我正在寻找的安静。

本文档是我的问题和预期输出的图形表示: http ://www.scribd.com/doc/90871434/Rectangles

我的想法是在哪里找到最低(高度)的矩形并创建一个适合剩余矩形宽度的矩形,然后通过一些递归找出其余的。

我基本上想做的是在给定 N 个水平放置的矩形的情况下找到最少数量的垂直堆叠矩形。

在Java中这样做我有一个带有输入矩形的HashMap。

任何想法,代码,链接?谢谢

4

2 回答 2

2

找到最小的矩形。

从中创建您的第一个结果矩形。

确定剩余的矩形。

将算法应用于所有连续的剩余矩形组。

于 2012-04-23T20:54:06.637 回答
1

我认为你应该使用分而治之

当您找到最低的矩形时,您还拆分了数据集。接下来的矩形要么完全位于左侧或右侧。这是递归的。

于 2012-04-24T00:22:28.327 回答