用块填充2D数组

时间:2018-03-08 07:20:18

标签: arrays algorithm multidimensional-array

我正在寻找如何编写一个算法的想法,该算法将使用预定义的块/数组来填充二维数组。

假设您有2d数组5x5(所以25个字段),并且有6个元素要随机插入其中(相应地分别为5,5,4,4,4,3个直块)。重要的是 - 我想把它们水平或垂直地随机放置,但没有任何单元格可以留下任何东西。

最终效果应如下所示(给定左侧X元素的块)

enter image description here

这与包装算法有些相关,虽然这里的想法是我指定容器尺寸(2d数组)让我们说8x4,然后随机化X条纹长度3-5将适合数组。所有条带长度的总和将等于数组大小(因此没有单元格留空)。

最重要的是,我认为,我可以添加一个故障安全功能,这意味着在将大多数条带放入数组并且最后一个不适合之后,算法可以找到任何空单元格并用相邻元素填充它以使条纹更长,但不超过5个元素

0 个答案:

没有答案