问题描述
我有一个要解决的数学问题,想在javascript中实现。 我有一个“空格”的意思:矩形格式。 这应作为一种容器工作。 然后我有一些较小的形式:其他矩形和圆形。
我需要找到一个解决方案,如何计算容器中可以容纳多少这种形式。
因此,我需要一种理想的方法,即如何将这些项目堆叠在其中。
如果太多,则忽略一些。 如果太少,则从下往上堆叠它们。
我正在尝试用Javascript实现这一目标,但还没有结束。
在我看来,应该是这样的:
var items = [circle1,2],[rect1,2,4],[rect2,5,6]]; // array with the forms to put inside container, stating a radius for circle and width/height for rectangles
var container = [10, 4]; // given the size of the container in width and height.
function stackItIn (container, items){
// now this is where I am totally lost
}
高级部分甚至会以图形方式显示在最后。
任何帮助,将不胜感激! 谢谢!
1楼
您可以尝试树状图。 对图块进行排序并选择第一个图块,然后在树中创建一个节点。 在两个轴上拆分树,然后选择下一个图块并找到节点的最佳拟合。