算法——把水倒进瓶子里

问题描述

假设我有N杯水,每杯有100毫升、250毫升、355毫升等不同的容量,而我有M瓶,每瓶容量不限。

我想把所有的水倒进M个瓶子里,并尽量平衡倒进不同瓶子里的水量。例如我有三杯 const req = exhaustivePoseInfoArrayTorequiredObject(exampleArray); // const req: requiredObject console.log(req); /* { "front": { "poseType": "front","data": 1,"other": "a" },"side": { "poseType": "side","data": 2,"other": "b" },"back": { "poseType": "back","data": 3,"other": "c" } } */ (体积 100 毫升)、cup_1(体积 100 毫升)、cup_2(体积 200 毫升),我有 2 瓶。最终结果应该是:

cup_3

cup_1 -> bottle_1,cup_2 -> bottle_1,cup_3 -> bottle_2

在任何一种情况下,两个瓶子最终都会有 200 毫升的水,这是最好的结果。

算法是什么样的?蛮力解决方案是枚举所有可能的组合,但时间复杂度很高。有没有更好的办法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)