设有n个并发请求,有m个集群,每个集群处理请求的时间是t…

设有n个并发请求,有m个集群,每个集群处理请求的时间是t1-tm。设计一个负载均衡器,实现最短时间处理完所有请求。

网易员工说:背包问题

楼主说:m

楼主说:a

楼主说:ar

楼主说:有人解答一下吗

袁术说:用个堆然后出最小的入+1倍原始值,反复循环

袁术说:假设时间耗时k对k进行二分,感觉也行

袁术说:不过最优解是啥呢,感觉想复杂了

匿名区的韦小宝说:m

楼主说:我的解答是用优先队列小堆,但细节没说好,一个算法题直接把我给挂了。。这个题很基础吗

袁术说:不知道啊……等大佬

橘右京说:m

楼主说:不知道是不是我心态问题,总觉得是来挂我的。。

楼主说:召唤大佬[哈哈]

国美金融员工说:请求时间构造小顶堆,每个请求用堆顶机器处理,移除堆顶元素,堆化,然后反复处理请求。

阿里巴巴员工说:m

感觉全是坑说:m

京东员工说:M

好未来教育集团员工说:M

网易员工说:背包问题

前陌陌员工说:不会

文丑说:m

深信服科技员工说:m

京东员工[2]说:真实情况下求最优解成本比较高,可以google一下:The power of two random choices

楼主说:跟我想的思路差不多,不过还能再细一点就好了

楼主说:好,我查查去

詹姆斯邦德说:m

空指针说:sum(n1+…nm)=n ,求t=sum(n1*t1+…nm*tm)最小值 emmm 不会

张松溪说:m

程序猿.少林弟子说:m

福康安说:如果t之间差别很大,这没办法给t小的多分请求吧

国美金融员工说:处理请求的机器要从堆中移除,处理完再加到堆里面

福康安说:小t没处理完就吧请求分给大t机器了

skrskr说:显然贪心是错误的,2个job,机器是3,8。3+3就够了,而不是把3丢出去处理,第二秒用8

百度员工说:m

牧羊人说:m

京东员工[3]说:是贪心 只是你贪心的不对

京东员工[3]说:是贪心 只是你贪心的不对把 6放进堆 下一次取出来的是6不是8

西昆仑说:一个新的请求过来,堆顶当前处理时间+=单位处理时间,堆重排

京东员工[3]说:基础题 acm入门题 看完题目应该就有很多队AC的

今日头条员工说:也不是最优,假设快的机器都分配出去,你也不能直接发给一个死慢的机器

程序猿.狐媚胡梅尔斯说:m

程序猿.酒仙桥杨烁说:最优解不知道,用有权重的轮询机制应该不复杂

vivo员工说:m

拼多多员工说:二分时间,然后m下判断加起来是否大于n。这题跟背包毛关系……

程序猿.二狗你变了说:不会

程序猿.低压锅蒂亚戈说:为啥你们好厉害

大唐移动员工说:m

楼主说:顶上去!

字节跳动员工说:m

前腾讯员工说:M