我想知道这个问题是否有“最佳”解决方案:
我有一个anxm(像素)大小的空间,上面有p个预先存在的矩形 - 上面有各种大小的对象。现在我想在这个空间中放置 q 个(相同大小的)新对象而没有任何重叠。
我想出的算法:
- 创建数组 A[][] 的大小
[(n)/(size_of_object_from_q)]x[(n)/(size_of_object_from_q)]
迭代 p 和每个元素的所有元素:
mark all fields in A[][] as occupied, where the element "lies"
将 q 中的所有元素放在未标记 A[][] 中的字段的相应位置
(男孩,我希望我能理解这一点......)
有没有更好的方法来做到这一点?任何帮助将不胜感激!