对于一个项目,需要根据每个平面的百分比将二维数组排列到平面中,并根据每个平面的百分比将平面彼此成比例。 (我希望这是有道理的,否则请看下面的例子)。在这个二维数组中,'第一'级代表行和'第二'级,列。例如;将二维数组划分为表面
array(
// row 1
array(
// items
number1
number2
numberN
),
// row 2
array(
// items..
),
// row N
array(
// items..
)
)
该数组中的数字已被添加/排列,以便它们形成面板。面板一起形成一个网格。每个数字代表一个项目(对于这个问题无关紧要)。我自己想出了一个解决方案。 Click here for print of the 2D array (The groups are color coded.)。
可以说,有三组(下面列出)。这些组代表上面介绍的面板。每组有一些介于零和百分之一之间的百分比。飞机的百分比总和必须是百分之百。组的最大数量是七个。示例组信息;
- 组1(图A):70%
- 组2(图B):20%
- 组3(图C):10%
同样这种安排应导致在一个带有(子)面板的大面板中。 As shown in this schematic figure.
我想出了将最终结果分成4个角的想法。每个角落将按规则计算。这些角落应该是基于其所在角(左上角,右上角,左下角,右下角)的镜像(水平和/或垂直)。
规则列表;
- 项目数应为TE相同的每一行
- 完整网格的各方面比应为2比1。因此,宽度为两倍HIGHT。
- 行的数量是基于总项目,因为方面是已知的。
经过几天的工作,我能够想出一个工作脚本。但在某些情况下,这确实表现出奇怪(如其中,不像预期的那样)。见上面的当前解决方案
所以,我的问题是;杠杆设计师是如何做到的?这是一个已知的问题,并有解决方案(如算法)什么解决这种(种)的问题?我现在很长一段时间一直在努力解决以下问题。在互联网上搜索,试图找到类似的问题。但我没有成功。
我不是要求现成的解决方案。只是一个正确的方向指针将不胜感激。
是否百分比表示二维数组中单元格的百分比或值的总和的百分比,还是......?如果百分比无法准确达到,那么需要做些什么? – trincot
@trincot它们代表项目的数量。因此,出于演示目的说,有4K项目。第一组有2800件(因为70%)。第二800和最后400.百分比将是一个近似值,而不是绝对值。 –
(1)那么数组中的值对算法没有意义?他们都可以'空'? (2)飞机能否“接触”海誓山盟,所以一方面一个地区没有任何细胞?或者,在看到下一个区域之前,这些区域需要在4个方向的每个方向上有相同数量的“空间”(行/列)? (3)如果一个百分比如此之低以至于最接近的解决方案给一个小组根本没有细胞呢?这可以接受吗? – trincot