设有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