【发布时间】:2014-04-22 09:03:34
【问题描述】:
我有一些关于动作开始时间和结束时间的每日数据。每一个动作都需要一个人。我想知道我需要多少人。
以下是数据示例(我使用的是python):
[str(d.start) + " || " + str(d.end) for d in dailyJobs]
>> ['2013-08-09 07:30:00 || 2013-08-09 11:45:00',
'2013-08-09 07:25:00 || 2013-08-09 10:45:00',
'2013-08-09 07:35:00 || 2013-08-09 10:35:00',
'2013-08-09 09:35:00 || 2013-08-09 12:05:00',
'2013-08-09 10:15:00 || 2013-08-09 13:20:00',
'2013-08-09 09:15:00 || 2013-08-09 12:55:00',
'2013-08-09 12:35:00 || 2013-08-09 15:35:00',
'2013-08-09 13:05:00 || 2013-08-09 15:25:00',
'2013-08-09 17:10:00 || 2013-08-09 18:32:44']
这是问题的甘特图:
我们可以看到6个动作会同时完成。所以我们需要6个人。
我的解决方案
我可以每分钟进行一次迭代并检查我所处的时间范围的数量。最大值将是所需的最少人数。
我正在寻找更好的算法来实现这一点。
【问题讨论】:
-
请澄清您的问题
-
我会做一个甘特图,它会帮助我解释。
-
不,我没有看到这个问题。我不知道它被称为“重叠”。谢谢!
标签: python algorithm gantt-chart