我在创建“最佳”文件分割时遇到问题。
例如,这是我的清单:
结构:
Type;Amount
档案中的记录数量 -
178816 (34233+18876+...)
现在我向用户询问他想要创建的文件,例如3:
178816 / 3 = 59605
可能性:
34233+18876=53109 or 34233+18876+32000=85109
因此,由于53109最接近59605,所以我将它放在First文件中。
然后我想创建下一个,所以我不得不跳过(A; 34233和G; 18876),因为我 已经使用了它们
所以现在我想要这个:
(178816 - 53109) / (3 - 1)
再找一个关闭等等。
有人可以帮助我实现这个目标吗?
这就是我现在所拥有的:
for (int i = 0; i < filesAmount; i++)
{
mid = (sum-closest) / (filesAmount - i);
closest = ammountAfterSum.Aggregate((x, y) => Math.Abs(x - mid) < Math.Abs(y - mid) ? x : y);
MessageBox.Show(closest.ToString());
}