我有一个很长的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).
先感谢您.