小编Ren*_*noa的帖子

将数组拆分为平衡和的P子阵列的算法

我有一个很长的N长度,让我们说:

2 4 6 7 6 3 3 3 4 3 4 4 4 3 3 1
Run Code Online (Sandbox Code Playgroud)

我需要将这个数组拆分成P个子数组(在这个例子中,P=4这是合理的),这样每个子数组中元素的总和尽可能接近sigma,是:

sigma=(sum of all elements in original array)/P
Run Code Online (Sandbox Code Playgroud)

在这个例子中sigma=15.

为清楚起见,一个可能的结果是:

2 4 6    7 6 3 3   3 4 3 4    4 4 3 3 1
(sums: 12,19,14,15)
Run Code Online (Sandbox Code Playgroud)

我已经写了一个非常天真的算法,基于我如何手工划分,但我不知道如何强加条件,其总和为(14,14,14,14,19)比一个差.那是(15,14,16,14,16).

先感谢您.

arrays algorithm parallel-processing load-balancing

20
推荐指数
2
解决办法
7535
查看次数