用于在矩形区域中排列块的Java代码

用于在矩形区域中排列块的Java代码,java,Java,我想把大小相等的块排列成一个矩形区域,如下所示 所以输入应该是块数,输出应该是(n1,n2,n3…),其中n1是第1行中的块数,依此类推 例如,对于上述图像,输入7的输出将为(2,3,2) 有什么图书馆可以做到这一点吗?我想要的约束是以最小的行数排列,每行的宽度相同。我还想知道的是,任何一行都不能包含超过4个图像。根据提供的信息,这将是一个自定义作业。例如,如果给我你提到的7个区块,我可能会得到(2,3,2),就像你做的那样,或者(2,2,3)或者(3,2,2)或者(4,2,1),等等 为了得

我想把大小相等的块排列成一个矩形区域,如下所示

所以输入应该是块数,输出应该是(n1,n2,n3…),其中n1是第1行中的块数,依此类推

例如,对于上述图像,输入7的输出将为(2,3,2)


有什么图书馆可以做到这一点吗?我想要的约束是以最小的行数排列,每行的宽度相同。我还想知道的是,任何一行都不能包含超过4个图像。

根据提供的信息,这将是一个自定义作业。例如,如果给我你提到的7个区块,我可能会得到(2,3,2),就像你做的那样,或者(2,2,3)或者(3,2,2)或者(4,2,1),等等

为了得到一个数学形式良好的解,你必须对它进行更多的约束。e、 g.不超过x行,按以下顺序添加行,可以/不能在现有行之间插入新行等


从头开始编写这种算法是可行的,但您需要更多地限制可能性,使其按照您所描述的那样工作。

如果有一个库支持这种特殊的、不寻常的场景,我会感到震惊。相同大小的区块是否总是保证总和为相同的宽度?行的顺序有关系吗?@Duncan我的意思是不完全相似,但很接近。。。。行顺序无关紧要……代码必须对它们进行调整,以便所有行的宽度必须相同。我投票认为“太宽”结束。需求是模糊的,任何解决方案都需要很多行代码。我能想到的最明确的约束是,以最小的行数排列,每行的宽度相同,然后您可能需要编辑您的问题,因为具有此约束的示例只有2行。一个有4个图像,一个有3个图像。你能详细说明你想从图书馆得到什么吗?它是一个带有位置(x,y)和行上每个图像的长度/宽度的行索引吗?如果您只需要每行中的行数和图像数,则可以通过以下方式获得:numrows=numimages/4和numlastrowimages=numimages%4。其中除最后一行外的所有行都有4个图像。