微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

算法——把水倒进瓶子里

如何解决算法——把水倒进瓶子里

假设我有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 举报,一经查实,本站将立刻删除。