0
A
回答
0
好吧,我得到了解决它可以通过贪心算法 做详细说明: http://www.cs.umd.edu/class/fall2009/cmsc451/lectures/Lec04-interval.pdf
1
你让出岗位是J1(S1,E1),J2(S2,E2),...,JN( sn,en) 其中s1,s2,s3,...,sn是作业的开始时间,而e1,e2,e3,...,en是作业的结束时间。
现在工作根据其开始时间排序(SI的) (使用任何的算法(O(N LG N))。 还要注意作业#(你或许可以存储作业#在另一个数组。 当您对作业的开始时间进行排序时,也会对相应的作业#排列)
现在从列表中选择最后一个作业(现在排序),并将其放入最终答案列表中。
从上一份作业 中以反向方式浏览列表,并在上一份作业有时继续检查可以执行的作业已经被采纳。此作业的结束时间小于或等于上次作业的开始时间。将这份工作添加到您的最终答案列表中。
现在执行此作业的相同程序。从该索引中扫描列表并获取工作,使其结束时间小于或等于上次添加到最终答案列表中的工作的开始时间。重复此操作直到完成。
现在只需计算最终答案列表中的作业数量。 这是可以完成的作业的最大数量。
整个过程需要O(n lg n)+ O(n)时间。 (如果您使用非基于比较的排序算法(如基数排序)对起始时间进行排序,则可以减少这一点,然后复杂度变为O(n))。
相关问题
- 1. 如何获得Jenkins构建时间最长的作业列表
- 2. Ruby on Rails:延迟作业延长作业之间的时间
- 3. 如何安排以多个时间间隔运行的作业
- 4. 长时间运行的作业Spring
- 5. Quartz.Net中的长时间运行作业
- 6. ArrayList排序时间最长的序列
- 7. Cron作业时间表
- 8. Cron作业时间表
- 9. Crontab作业时间表
- 10. Powershell,停止作业时间太长
- 11. 特别长猪作业开始时间
- 12. 每天在用户配置的时间间隔内安排SQL作业
- 13. 我该如何安排时间表vba的时间表
- 14. 任何时间安排/张贴facebook帖子的Cron作业
- 15. 如何在特定时区的任何时间通过节点时间表模块安排作业
- 16. 时间表最近时间
- 17. 最短剩余时间安排
- 18. 使用Cron作业创建的SQL临时表的持续时间是多长?
- 19. Java Timer在特定时间安排作业 - 忽略dst调整
- 20. 长时间工作
- 21. 每个午夜时间安排cron作业,每个时区用流星
- 22. wordpress安装时间太长
- 23. Python:将作业安排在两个预定义时间之间运行
- 24. PHP最长执行时间?
- 25. PHP最长执行时间
- 26. 最长持续时间:dayTimeDuration()
- 27. 间隔时间安排任务的最佳工具?
- 28. Python在特定时间安排工作
- 29. Quartz.net作业完成后的时间间隔重复作业
- 30. 改变Quartz作业时间表
这些工作是否相互依赖? – biziclop 2012-02-10 18:55:08
不,他们不相互依赖所有都是独立的 – Arjit 2012-02-10 18:59:36
这可能是一个愚蠢的问题,但您可以在O(nlogn)时间对作业列表进行排序,然后从最短的时间开始并添加作业,直到您超过设定时间表。我在这里错过了什么? – biziclop 2012-02-10 19:15:30