我一直在寻找某种算法来照顾我所遇到的问题。我遇到的最接近的事情是一个bin包装算法,但我不认为它的安静,我正在寻找。Bin包装与扭曲?
这份文件是我的问题的图示和预期输出: http://www.scribd.com/doc/90871434/Rectangles
我的想法在哪里可以找到最低(高)的矩形,并创建满足剩余矩形的宽的长方形,并与一些递归找出其余的。
我基本上试图做的是找到最小数量的垂直堆叠的矩形,给定N个水平放置的矩形。
在Java中这样做我有一个HashMap与输入矩形。
任何想法,代码,链接?谢谢
啊是的,这是我的思路。问题是算法的一部分,就像遍历HashMap的代码一样,最终将矩形放在正确的位置。 – user1352234 2012-04-23 21:08:14
更为明显的表示形式是从左到右排列的矩形数组。用这种表示法,实现上述算法就容易得多。最坏的情况是'O(n * n)',它的平均值是'O(n log(n))'。如果该算法速度不够快,我有一个更复杂的算法,即O(n log(n))最坏的情况。但复杂性可能不合理。 – btilly 2012-04-23 21:51:54