我这里真的需要一个算法大师!所以问题是我得到了一个这样的数组:
[
[870, 23]
[970, 78]
[110, 50]
]
我想把它分开,使它看起来像这样:
// first array
[
[970, 78]
]
// second array
[
[870, 23]
[110, 50]
]
所以现在,为什么我也想让它看起来像这样?
因为我想保持子值的总和尽可能相等。所以970
是关于870 + 110
和78
是关于23 + 50
。所以在这种情况下这很容易,因为如果你只是拆分它们并且只查看第一个子值它已经是正确的但我想检查两者并保持它们尽可能相等,这样它也可以使用一个包含 100 个子数组的数组!所以如果有人能告诉我我可以用什么算法来编程,那就太好了!
秤:
- 数组中约 1000 个元素(子列表)
- 元素是最大 10^9 的整数
我正在寻找一个“足够接近的解决方案” -它不一定是确切的最佳解决方案。