如何解决算法——把水倒进瓶子里
假设我有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 举报,一经查实,本站将立刻删除。