在下面给出词典列表
sample_dict = [{'Time':10, 'Name':'Loc1'},
{'Time':,9 'Name':'Loc2'},
{'Time':7, 'Name':'Loc3'},
{'Time':6, 'Name':'Loc4'},
{'Time':2, 'Name':'Loc5'}]
Name
是该位置的名称,而Time
是该位置的服务时间。现在,我想将这些位置的任务分配给2,3,4名员工,以使总的时间消耗最小。
例如,如果有2名员工。
task_assigned_to_emp1 = {'Time':10, 'Name':'Loc1'} & {'Time':7, 'Name':'Loc3'}
total_time_taken_by_emp1 = 17
task_assigned_to_emp2 = {'Time':,9 'Name':'Loc2'} & {'Time':6, 'Name':'Loc4'} & {'Time':2, 'Name':'Loc5'}
total_time_taken_by_emp2 = 17
同样拥有3至4名员工。
另外,输出应具有如下所述的顺序。
output = [{'Time':10, 'Name':'Loc1', 'Sequecne':1},
{'Time':,9 'Name':'Loc2', 'Sequecne':2},
{'Time':7, 'Name':'Loc3', 'Sequecne':4},
{'Time':6, 'Name':'Loc4', 'Sequecne':3},
{'Time':2, 'Name':'Loc5', 'Sequecne':5}]
输出说明
emp1
和emp2
被赋予Loc1
和Loc2
。 Emp2
早于emp1
返回,原因是他/她的任务花了9分钟,而emp1's
任务花了10分钟。因此,我们将Loc4
赋予emp2
,然后emp1
来到并被分配了Loc3
,最后emp2
被分配了Loc5
。